java如何在ArrayList中搜索相似性
我有一个字符串的arrayList,我想在微调器或下拉菜单中显示,但大多数情况下,我会让字符串重复,我要做的是在arrayList中搜索相似性,如果它发现一个字符串,例如“Hello World”在arrayList中出现7次,删除其他6并将7分配给它以显示它发生了7次,因此我的新字符串将是“Hello world(7)”,有人可以帮助我如何在下面的代码中实现这一点:
for(int i = 0; i < timesCalleddb.getAllTimesCalled(missedCall.getNumber()).size(); i++)
{
if(timesCalleddb.getAllTimesCalled(missedCall.getNumber()).get(i) ==
timesCalleddb.getAllTimesCalled(missedCall.getNumber()).get(i+1))
{
//where am guessing the implementation my problem should be
}
}
# 1 楼答案
要从
List
中删除重复的String
,请使用以下命令:注意:不会保留
List
的序列希望有帮助
# 2 楼答案
您应该考虑使用MAP数据结构,因为您必须存储计数器,否则,哈希集将是完美的:
# 3 楼答案
您可以使用此代码根据列表的特定字符串筛选CustomList。如果要计算发生次数,可以在循环中添加一些计数器
# 4 楼答案
您可以执行以下操作:
List
上迭代,并生成一个HashMap<String, Integer>
,指示每个String
出现的次数李>list = new ArrayList<String>(new LinkedHashSet<String>(list));
从List
中删除重复项。使用LinkedHashSet
表示保持顺序李>List
上迭代并根据map.get(string)
是1
还是大于1
添加string
或string + " (" + map.get(string) + ")"
来建立一个新的List
李>