我的github

Java中,ArrayList应该是比较常用的一个对象了;那么它的stream()方法大家了解过吗?如果可以熟练使用stream()方法,就可以方便地获取list中元素的某个特定字段、对list中的元素进行筛选、或者把list转成map。

参考:https://blog.csdn.net/BHSZZY/article/details/122860048

如何获取不重复的集合?Collections?FlatMap?Set?HashSet?

 

(1) list.stream().map().collect()方法,可以获取list中JavaBean的某个字段,转成一个新的list。

(2) list.stream().filter().map().collect()方法,可以对list中的JavaBean进行筛选,保留符合条件的JavaBean,然后将JavaBean中的某个字段,转成一个新的list。

(3) list.stream().collect()方法,可以把list转为map,可以指定list的中的JavaBean的某个字段或JavaBean本身为map的key或value。(或者根据情况自定义map的key与value)

(4) list.stream().filter().collect()方法,可以先筛选出list中符合条件的JavaBean,然后把list转为map,可以指定list的中的JavaBean的某个字段或JavaBean本身为map的key或value。(或者根据情况自定义map的key与value)

 

如何给生成的List对象去重??把List对象赋给Set对象?

import java.util.*;
 
public class Main {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>();
        
        // 添加元素到列表中
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(5);
        numbers.add(6);
        numbers.add(7);
        numbers.add(8);
        numbers.add(9);
        numbers.add(10);
        numbers.add(10); // 重复的数字
        
        System.out.println("原始列表:" + numbers);
        
        Set<Integer> set = new HashSet<>(numbers); // 将列表转换为Set集合
        List<Integer> distinctNumbers = new ArrayList<>(set); // 再将Set转换为List
        
        System.out.println("去重后的列表:" + distinctNumbers);
    }
}

参考:百度AI

posted on 2024-03-04 16:05  XiaoNiuFeiTian  阅读(49)  评论(0编辑  收藏  举报