java8 stream API学习笔记java
关于list转map demo,以下: ↓↓↓ide
//3个Users对象 Users users0 = new Users("0", "tom", 12); Users users1 = new Users("1", "jerry", 11); Users users2 = new Users("2", "superman", 12); //users 加入示例 list List<Users> list = new ArrayList<>(); list.add(users0); list.add(users1); list.add(users2); //将list转成map key:users.id value:users.age Map<String, Integer> map = list.stream().collect(Collectors.toMap(Users::getId, Users::getAge)); //将list转成map key:users.id value:users对象 //第一种 直接返回users自己 Map<String, Users> map0 = list.stream().collect(Collectors.toMap(Users::getId, users -> users)); //将list转成map key:users.id value:users对象 //第二种 Function中有一个static方法identity 返回自己 Map<String, Users> map1 = list.stream().collect(Collectors.toMap(Users::getId, Function.identity())); //将list转成map key:users.age value:users对象 //若是list中的age存在相同的时候,转化map的时候就会出错Duplicate key Map<Integer, Users> map2 = list.stream().collect(Collectors.toMap(Users::getAge, Function.identity())); //toMap的重载,定义key2覆盖key1的值 Map<Integer, Users> map3 = list.stream().collect(Collectors.toMap(Users::getAge, Function.identity(),(key1,key2)->key2));
Users对象,只有3个字段学习
private String id; private String name; private Integer age;
Mark 2018-5-24: 今天我要辞职, f-ck,fu-k,f--k.spa
------------------------------------------------------------3d