繁体   English   中英

通过创建方法删除 ArrayList 中的重复项

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM