21xrx.com
2024-11-05 18:42:46 Tuesday
登录
文章检索 我的文章 写文章
如何使用Java的List集合去除重复元素
2023-06-18 06:06:36 深夜i     --     --
Java List 去重 HashSet Stream

在Java中,List是一种常用的集合类型。然而,有时候我们需要去除List中的重复元素,以便于后续的操作。Java提供了几种方法来实现List去重,本文将介绍其中的三种常见做法。

方法一:使用HashSet去除重复元素

HashSet是一种无序、不允许重复元素的集合类型。由于HashSet不能保证原有元素的顺序,因此需要使用LinkedHashSet来保留原有元素的顺序。我们可以利用这个特性来实现List去重。具体代码如下:


List list = new ArrayList<>();

list.add(1);

list.add(2);

list.add(3);

list.add(2);

list.add(1);

Set set = new LinkedHashSet<>(list);

List newList = new ArrayList<>(set);

方法二:使用Stream api去除重复元素

Java 8引入了Stream api,它可以像数据库一样进行过滤、排序等操作。我们可以利用Stream api中的distinct()方法来实现List去重。具体代码如下:


List list = new ArrayList<>();

list.add(1);

list.add(2);

list.add(3);

list.add(2);

list.add(1);

List newList = list.stream().distinct().collect(Collectors.toList());

方法三:手动去重

手动去重是一种较为直接的方法,它需要我们编写一些比较逻辑来判断两个元素是否相同。具体代码如下:


List list = new ArrayList<>();

list.add(1);

list.add(2);

list.add(3);

list.add(2);

list.add(1);

List newList = new ArrayList<>();

for (int i = 0; i < list.size(); i++) {

  boolean flag = false;

  for (int j = i + 1; j < list.size(); j++) {

    if (list.get(i).equals(list.get(j)))

      flag = true;

      break;

    

  }

  if (!flag) {

    newList.add(list.get(i));

  }

}

综上所述,我们介绍了三种常见的List去重方法。通过HashSet、Stream api和手动去重,我们可以轻松地将List中的重复元素去除,使得我们后续的操作更加方便。

api、手动去重。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复