首页 > 解决方案 > 问题:按字母顺序删除字符串数组列表中的重复项

问题描述

这是我从数组列表中删除重复项的函数(按字母顺序排序):

public static void removeDuplicate(ArrayList<String> array){
    for (int i = 0; i < array.size(); i++) {
        if (i + 1 < array.size()) {
            if (array.get(i).equalsIgnoreCase((array.get(i + 1)))) {
                array.remove(i + 1);
                i=0;
            }
        }
    }
}

但不知何故,仍然有一些重复,我已经寻找其他方法来删除数组列表中的重复,它们和我的一模一样。所以现在我真的很努力。如果您能帮助找到我的问题的解决方案,将不胜感激。顺便说一句,这里是当我打印我的arraylist 函数removeDuplicate(array) 后输出的示例:

一个能力与年龄相适应的成年人

标签: javaarraylistduplicates

解决方案


在迭代列表时修改列表通常会反击。

尝试这个

public static List<String> removeDuplicate(ArrayList<String> array) {
  return array.stream().distinct().collect(Collectors.toList());
}

推荐阅读