我对Java相当陌生,我一直在尝试解决以下问题,但没有成功。
编写一个从给定列表中删除重复项的 Java 方法。
假设:
- 方法接受类型 List
- 返回类型为
void
- 重复使用确定
equals()
主要的:
- 创建一个 List 的瞬间并使用重复的 String 值加载它
- 调用
removeDuplicates()
,传入这个列表 - 将修改后的列表输出到控制台。
我可以通过将列表传递给新的 HashSet 并将其复制回来来解决问题。但问题是:
- 问题是要求我使用
equals()...
- 如果返回类型是
void
,我如何输出它main
?
导入 java.util.*;公共课问题1 {
public static void main(String[] args) {
String[] words = {"good","better", "best", "best", "first" , "last", "last", "last", "good"};
List<String> list = new ArrayList<String>();
for (String s : words) {
list.add(s);
}
removeDuplicates(list);
}
static void removeDuplicates(List<String> array){
HashSet<String> hs = new HashSet<>();
hs.addAll(array);
array.clear();
array.addAll(hs);
for (String x : array){
System.out.println(x);
}
}
}
编辑:嗯,这个工作,但你可以看到我没有使用equals(),我从我的静态方法打印出来,而不是从main。另外,有什么方法可以比使用 String[] 更快地填充列表?