只是一个免责声明:我第二次重复了我的java mod,所以我的问题可能会有点简单,希望我听起来不太愚蠢。去除arraylist中的重复项
写方法removeDuplicates是作为一个参数排序的 ArrayList的字符串,并从列表中排除任何重复。 例如,假设名为list的变量包含以下值 :
{"be", "be", "is", "not", "or", "question", "that", "the", "to", "to"}
调用removeDuplicates(list);列表 应存储以下值:{"be", "is", "not", "or", "question", "that", "the", "to"}
因为值将被排序,所有重复项将被组合在一起。
我尝试这个:
public static void removeDuplicates(ArrayList <String>a){
for(int i=0;i<a.size();i++){
String word=a.get(i);
String word2=a.get(i+1);
if(word.equals(word2)){
a.remove(word);
}
else{
System.out.print(word);
}
}
}
的问题是,当我把它叫做:
["duplicate", "duplicate", "duplicate", "duplicate", "duplicate"]
返回indexoutofbound
。我知道这与i=i-1
有关,并参考remove
方法。尝试插入它在这里,但它不起作用。但是我很困惑,因为这与我的代码一起工作。当我打电话给:
["be", "be", "is", "not", "or", "question", "that", "the", "to", "to"]
它的工作原理。
这是否帮助? http://stackoverflow.com/questions/13429119/get-unique-values-from-arraylist-in-java – Aiias 2013-04-07 05:54:03
为什么不能使用一个相同的集合。这不会让您在第一时间输入重复值。 – 2013-04-07 05:54:04
你好啊,它并没有真正的帮助。我不喜欢设置的方法。因为它没有被教导,所以会更喜欢与设置无关的东西 – user2179615 2013-04-07 05:56:33