List 集合通过创建stream 流的方式转成map集合

简介: List 集合通过创建stream 流的方式转成map集合

public class test7 {
    public static void main(String[] args) {
        ArrayList<UserEntity> list = new ArrayList<>();
        list.add(new UserEntity("xialijun",12));
        list.add(new UserEntity("xia",24));
        list.add(new UserEntity("qwer",1234));
        list.add(new UserEntity("qwet",1223));
        list.add(new UserEntity("qwey",1235));
        list.add(new UserEntity("qweye",1235));
        //流: stream  串行流  单线程
        //    parallelStream()  并行流  多线程  效率高
        //
        Set<UserEntity> collect = list.stream().collect(Collectors.toSet());
        collect.forEach(x->{
            System.out.println(x.toString());
        });
        System.out.println("========================================");
        collect.forEach(System.out::println);
        Set<UserEntity> collect1 = list.parallelStream().collect(Collectors.toSet());
        //key     
        //UserEntity   list  集合中的数据
      第一种写法 :
//        Map<String, UserEntity> map = list.stream().collect(Collectors.toMap(new Function<UserEntity, String>() {
//            @Override
//            public String apply(UserEntity userEntity) {
//                return userEntity.getName();
//            }
//            //value
//        }, new Function<UserEntity, UserEntity>() {
//            @Override
//            public UserEntity apply(UserEntity userEntity) {
//                return userEntity;
//            }
//        }));
//        map.forEach(new BiConsumer<String, UserEntity>() {
//            @Override
//            public void accept(String s, UserEntity userEntity) {
//                System.out.println(s + "====" + userEntity);
//            }
//        });
       第二种写法
        Map<String, UserEntity> map = list.stream()
                //key----->UserEntity::getName,
                //value----->    userEntity -> userEntity
                .collect(Collectors.toMap(UserEntity::getName,
                        userEntity -> userEntity));
        map.forEach((s, userEntity) -> System.out.println(s + "====" + userEntity));
    }
}
目录
相关文章
|
15天前
|
算法
你对Collection中Set、List、Map理解?
你对Collection中Set、List、Map理解?
52 18
你对Collection中Set、List、Map理解?
|
9天前
|
存储 缓存 安全
只会“有序无序”?面试官嫌弃的List、Set、Map回答!
小米,一位热衷于技术分享的程序员,通过与朋友小林的对话,详细解析了Java面试中常见的List、Set、Map三者之间的区别,不仅涵盖了它们的基本特性,还深入探讨了各自的实现原理及应用场景,帮助面试者更好地准备相关问题。
46 20
|
2月前
|
安全 Java 程序员
深入Java集合框架:解密List的Fail-Fast与Fail-Safe机制
本文介绍了 Java 中 List 的遍历和删除操作,重点讨论了快速失败(fail-fast)和安全失败(fail-safe)机制。通过普通 for 循环、迭代器和 foreach 循环的对比,详细解释了各种方法的优缺点及适用场景,特别是在多线程环境下的表现。最后推荐了适合高并发场景的 fail-safe 容器,如 CopyOnWriteArrayList 和 ConcurrentHashMap。
65 5
|
1月前
|
NoSQL Java Redis
List集合按照由小到大排序或者由大到小排序
List集合按照由小到大排序或者由大到小排序
43 0
|
2月前
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
29 3
|
3月前
|
Java C# Swift
Java Stream中peek和map不为人知的秘密
本文通过一个Java Stream中的示例,探讨了`peek`方法在流式处理中的应用及其潜在问题。首先介绍了`peek`的基本定义与使用,并通过代码展示了其如何在流中对每个元素进行操作而不返回结果。接着讨论了`peek`作为中间操作的懒执行特性,强调了如果没有终端操作则不会执行的问题。文章指出,在某些情况下使用`peek`可能比`map`更简洁,但也需注意其懒执行带来的影响。
174 2
Java Stream中peek和map不为人知的秘密
|
3月前
|
算法
你对Collection中Set、List、Map理解?
你对Collection中Set、List、Map理解?
42 5
|
3月前
|
NoSQL Java Redis
List集合按照由小到大排序或者由大到小排序
List集合按照由小到大排序或者由大到小排序
26 3
|
3月前
|
Go 定位技术 索引
Go 语言Map(集合) | 19
Go 语言Map(集合) | 19
|
3月前
|
存储 前端开发 API
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
该文章详细介绍了ES6中Set和Map数据结构的特性和使用方法,并探讨了它们在前端开发中的具体应用,包括如何利用这些数据结构来解决常见的编程问题。
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
下一篇
DataWorks