【发布时间】:2014-03-25 23:25:33
【问题描述】:
我有一个字符串数组列表,并在其中添加了一些重复值。我只想删除那个重复值那么如何删除它。
这里的例子我有一个想法。
List<String> list = new ArrayList<String>();
list.add("Krishna");
list.add("Krishna");
list.add("Kishan");
list.add("Krishn");
list.add("Aryan");
list.add("Harm");
System.out.println("List"+list);
for (int i = 1; i < list.size(); i++) {
String a1 = list.get(i);
String a2 = list.get(i-1);
if (a1.equals(a2)) {
list.remove(a1);
}
}
System.out.println("List after short"+list);
但是有没有足够的方法删除重复的表单列表。不使用 For 循环? 而且我可以通过使用 HashSet 或其他方式来做到这一点,但只使用数组列表。 想听听你的建议。提前感谢您的回答。
【问题讨论】:
-
是否有理由不使用 for 循环或哈希集。
-
好吧,您可以重写 for 循环以使用 while 循环或递归,但我怀疑这不是您的想法。一些上下文(解释为什么你想以你想做的方式做某事)通常有助于解释 - 就目前而言,我可以对你想要什么做出一些猜测,但这就是他们的全部 -猜测。而且您的代码只会删除彼此相邻的重复项 - 这是您想要的吗?
标签: java list sorting arraylist