[英]Removing Duplicates in an ArrayList by creating a Method
我必须编写一个名为 removeDups 的方法,该方法接受字符串的 ArrayList 并返回 ArrayList 的副本,其中删除了所有重复项。 我必须退回一个基本上没有重复的新 ArrayList。
import java.util.ArrayList;
public class Duplicates {
public static ArrayList <String> removeDups(ArrayList<String> myArray) {
for (String item: myArray ) {
ArrayList <String> noDuplicate = new ArrayList <String>();
if (!noDuplicate.contains(item)) {
noDuplicate.add(item);
}else
;
return noDuplicate;
}
}
}
作为初学者编码器,我在编写此代码时遇到了麻烦。
您需要修改一些东西以使其工作(并拥有更清晰的代码):
当您不需要ArrayList<String>
时,您应该使用接口List<String>
你应该在方法的第一行启动noDuplicate
数组
您应该检查条件.noDuplicate.contains(item)
如果是这样,只需将item
添加到noDuplicate
列表
将方法从removeDups
重命名为removeDuplicates
工作代码:
public static List<String> removeDuplicates(List<String> myArray) {
List<String> noDuplicate = new ArrayList<>();
for (String item : myArray) {
if (!noDuplicate.contains(item)) {
noDuplicate.add(item);
}
}
return noDuplicate;
}
如果您查看 Java 流,您可以使用以下方法执行相同的操作:
List<String> noDuplicate = myArray.stream()
.distinct()
.collect(Collectors.toList());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.