java list排序和去重的方法是什么

44次阅读
没有评论

共计 1144 个字符,预计需要花费 3 分钟才能阅读完成。

在 Java 中,可以使用 Collections.sort() 方法对 List 进行排序,该方法接受一个 List 参数并按照自然顺序进行排序。如果 List 中的元素实现了 Comparable 接口,它们将根据 compareTo() 方法的实现进行排序。

示例代码:

List<Integer> list = new ArrayList<>();
list.add(3);
list.add(1);
list.add(2);

Collections.sort(list);

System.out.println(list); // 输出:[1, 2, 3]

如果 List 中的元素没有实现 Comparable 接口,可以使用 Collections.sort() 方法的重载版本,该版本接受一个 Comparator 参数,用于指定排序的逻辑。

示例代码:

List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");

Collections.sort(list, new Comparator<String>() {@Override
    public int compare(String o1, String o2) {return o1.compareTo(o2);
    }
});

System.out.println(list); // 输出:[apple, banana, orange]

要对 List 进行去重,可以使用 Set 数据结构。Set 是一个不允许包含重复元素的集合,可以先将 List 中的元素添加到 Set 中,然后再将 Set 转换回 List。

示例代码:

List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(2);
list.add(1);

Set<Integer> set = new HashSet<>(list);
list = new ArrayList<>(set);

System.out.println(list); // 输出:[1, 2, 3]

另外,如果使用 Java 8 或更高版本,还可以使用 stream() 方法进行排序和去重操作。

示例代码:

List<Integer> list = new ArrayList<>();
list.add(3);
list.add(1);
list.add(2);
list.add(2);
list.add(1);

list = list.stream()
        .distinct()
        .sorted()
        .collect(Collectors.toList());

System.out.println(list); // 输出:[1, 2, 3]

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-12发表,共计1144字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)