21xrx.com
2025-07-09 02:10:04 Wednesday
文章检索 我的文章 写文章
如何使用Java的List集合去除重复元素
2023-06-18 06:06:36 深夜i     13     0
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、手动去重。

  
  

评论区