gpt4 book ai didi

java - 删除 ArrayList 中的重复项 - Java

转载 作者:行者123 更新时间:2023-12-01 07:02:04 25 4
gpt4 key购买 nike

我的 Java 代码有一些问题。我应该使用循环而不是任何其他方法。假设我的 ArrayLis t 包含

[Dog Cat Dog Dog Cat Dog Horse]

我的目标也是删除 Dog 和 Cat 的副本,因此我的最终结果等于

[Dog Cat Horse]

public void removeDouble(){

int counter = 0;
for (int i = 0 ; i < animals.size(); i++) {
for (int j = 1+i; j < animals.size() ; j++)
//don't start on the same word or you'll eliminate it.
if ( animals.get(j).equals( animals.get(i) ) ) {
animals.remove(animals.get(j));
counter++;

}
}
}

感觉“逻辑”是正确的,但我的代码运行得不太好。有人可以帮我一点吗?

最佳答案

你可以这样做。

 ArrayList<String>list=new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("A");
System.out.println("Before "+list); // output[A,B,C,A]


Set<String> listWithoutDuplicates = new LinkedHashSet<String>(list);
list.clear();

list.addAll(listWithoutDuplicates);
System.out.println("list without duplicates : " + list);// output[A,B,C]

关于java - 删除 ArrayList 中的重复项 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42042660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com