【发布时间】:2021-06-29 06:37:49
【问题描述】:
我没有解决 processList 错误。 我正在使用集合来过滤数组中的重复元素并打印为列表。 形成一个从 0 到 9 的数字列表。 插入一组从 0 到 5 的新数字。
package programming;
import java.awt.List;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
public class FillterDublicateElementFromArrayPrintList2 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
// Form a list of numbers from 0-9.
for (int i = 0; i < 10; i++) {
list.add(String.valueOf(i));
}
for (int i = 0; i < 5; i++) {
list.add(String.valueOf(i));
}
System.out.println("Input list : " + list);
System.out.println("\nFiltered duplicates : " + processList(list));
}
public static Set<String> processList(List<String> listContainingDuplicates) {
final Set<String> resultSet = new HashSet<String>();
final Set<String> tempSet = new HashSet<String>();
for (String yourInt : listContainingDuplicates) {
if (!tempSet.add(yourInt)) {
resultSet.add(yourInt);
}
}
return resultSet;
}
}
【问题讨论】:
-
那么问题到底是什么。你有错误吗?错误的结果?
-
现在有什么问题?
-
您的预期输出是什么?你得到了什么?您是否使用调试器单步执行了您的代码?
-
重复值是 0-4,而不是 0-5。
-
按照你这样做的方式,你会得到在输入列表中出现多次的所有元素。
标签: java arrays list collections