您的位置 首页 java

Java杂记-优雅去重list元素的五种方式

List去重的5种方式

  • 借助Set的特性进行去重
  • 利用set集合特性保持顺序一致去重
  • 遍历List集合,将元素添加到另一个List集合中
  • 使用 Java 8特性去重
  • 双重循环使用list自身方法remove()

借助Set的特性进行去重

/**

* Set 去重

*/

@Test

public void setDistinct() {

Set set = new HashSet();

List newList = new ArrayList();

set.addAll(list);

newList.addAll(set);

System.out.println(newList);

}

利用set集合特性保持顺序一致去重

/**

* Set 去重保持原序

*/

@Test

public void setDistinctHasSort() {

//方法一

List< Integer > listNew = new ArrayList<Integer>(new TreeSet<Integer>(list));

//方法二

List<Integer> listNew2 = new ArrayList<Integer>(new LinkedHashSet<Integer>(list));

}

遍历List集合,将元素添加到另一个List集合中

/**

* 添加到其他List

*/

@Test

public void add2OtherList(){

List<Integer> newList = new ArrayList<Integer>();

for (Integer str : list) {

if (!newList.contains(str)) {

newList.add(str);

}

}

System.out.println();

}

使用Java8特性去重

@Test

public void java8Feature()

{

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

System.out.println(newList );

}

双重循环使用list自身方法remove()-不推荐

/**

* 循环去重

*/

@Test

public void loopRemove(){

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

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

if(i!=j&&list.get(i)==list.get(j)) {

list.remove(list.get(j));

}

}

}

System.out.println(list);

}

文章来源:智云一二三科技

文章标题:Java杂记-优雅去重list元素的五种方式

文章地址:https://www.zhihuclub.com/180484.shtml

关于作者: 智云科技

热门文章

网站地图