gpt4 book ai didi

java - 如何使用两种方法从数组列表中删除重复项?

转载 作者:行者123 更新时间:2023-12-01 13:13:01 24 4
gpt4 key购买 nike

第一个方法查找重复项,第二个方法将其删除。我尝试了以下代码,但它不起作用。我不明白为什么。使用两种方法来完成。当我调用这些方法时,它们不会删除重复项。数组列表未更改。我想使用两种方法删除重复项。

public static int find(ArrayList<String> s, int i) {

for (int j = i + 1; j < s.size(); j = j + 1) {
if (s.get(i) == s.get(j)) {
return j;
}
}

return -1;
}


public static void removeDuplicates(ArrayList<String> s) {
for (int i = 0; i < s.size(); i = i + 1) {
int foundAt = (find(s, i));
if (foundAt >= 0) {
s.remove(i);
}
}
}

最佳答案

别担心:

public static List<String> removeDups(final List<String> orig)
{
return new ArrayList<>(new LinkedHashSet<>(orig));
}

(注意使用LinkedHashSet,我们希望保留元素迭代顺序)

关于java - 如何使用两种方法从数组列表中删除重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22695916/

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