删除从光标获取的字符串中的重复项:Android

问题描述:

我正在使用Cursor获取一串数据。我有一个公司名单,光标显示其中的城镇名称。删除从光标获取的字符串中的重复项:Android

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

这给了我一个城镇名称列表。现在我想要的是从它删除重复的条目,并获得相同的大小。

我不想改变我查询光标的方式。有没有办法从上面的townName上移除重复的条目? 任何人都可以请帮忙。

编辑:我使用的是循环得到镇象的名字,

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

我得到的名称为:

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

在这里,我怎么能检查相同的字符串并消除它们。请帮忙,因为我无法弄清楚。

+0

只是进行字符串比较 –

+2

不要通过比较它们来在列表中添加重复条目。 –

+0

这将是'.equals()' – Zoe

您可以添加字符串到ArrayList,然后添加这些值转换为一组。设置不允许重复的值。

喜欢的东西,

 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); 

希望这有助于。

+0

是的,这有帮助。我绕过了loc中的每个数据,然后使用一组来存储数据。非常感谢。 – devgeek

+0

很高兴工作。 :) – manini

使用设置或TreeSet中存放我们list.Set数据结构不允许冗余数据