2017-08-04 2 views
0

Ich benutze Cursor, um eine Folge von Daten zu erhalten. Ich habe eine Firmenliste und der Cursor zeigt den Namen der Stadt an.Entfernen Sie doppelte Einträge aus Zeichenfolgen aus dem Cursor abgerufen: Android

Cursor cursorMain = mDbHelper.getMainBranch(primaryID); 
int countMain = cursorMain.getCount(); 
String townNameMain = cursorMain.getString(cursorMain 
           .getColumnIndex("z3")); 
Log.d(townName,"town name"); 

Dies gibt mir eine Liste von Städtenamen. Nun, was ich will, ist, die doppelten Einträge von ihm zu entfernen und die Größe des gleichen zu erhalten.

Ich möchte nicht ändern, wie ich meinen Cursor abfrage. Gibt es eine Möglichkeit, die doppelten Einträge von townNameMain oben zu entfernen? Kann mir bitte jemand helfen.

EDIT: Ich verwende eine Schleife, die Namen der Stadt wie, wie

 String loc = tempList.get(i).getTownName(); 
     Log.d(loc, "locattion"); 

Ich erhalte die Namen zu erhalten:

D/ABC 
D/ABC 
D/ABC 
D/AAA 

Hier ist, wie kann ich für die gleichen Strings überprüfen und beseitige sie. Bitte helfen Sie mir, da ich es nicht herausfinden kann.

+0

Gehen Sie einfach zum Zeichenfolgenvergleich –

+2

Fügen Sie keinen doppelten Eintrag in Ihre Liste ein, indem Sie sie vergleichen. –

+0

das wäre '.equals()' – Zoe

Antwort

1

Sie erlauben können die Saiten in die Arraylist hinzufügen und dann diese Werte in einen Satz hinzuzufügen. Legen Sie keine doppelten Werte an. wie

Etwas,

 ArrayList<String> List = new ArrayList<String>(); 
     List.add(loc); //assuming u r getting the strings in loc. 
     Set<String> aSet = new HashSet<String>(List); 
     List.clear(); 
     List.addAll(aSet); 

Hoffnung, das hilft.

+0

Ja, das hat geholfen. Ich habe jede der Daten in loc durchgeschleift und dann einen Satz verwendet, um die Daten zu speichern. Danke vielmals. – devgeek

+0

Froh, es hat funktioniert. :) – manini

2

ein Set oder TreeSet Nutzen Sie unsere list.Set Datenstruktur zu speichern, keine redundanten Daten

Verwandte Themen