List<String>>ans=newHashMap<>();for(String str:list){List<String>sub=ans.get(str.length());if(sub==null){sub=newArrayList<>();ans.put(str.length(),sub);}sub.add(str);}System.out.println(ans); 对于jdk8+,上面for循环中
如果我们要求map的顺序要按照list的执行的话,我们就要转map的时候指定map的具体实现。 Map<String, User> maps3 = list.stream().collect (Collectors.toMap(User::getName,Function.identity(),(k1, k2) -> k1,LinkedHashMap::new)); 输出结果 {pangHu=User{name='pangHu', age=18}, piKaQiu=User{name=...
import java.util.List; import java.util.Map; import java.util.stream.Collectors;publicclassListToMapExample {publicstaticvoidmain(String[] args) {//假设我们有一个包含键值对的ListList<KeyValuePair> list =List.of(newKeyValuePair("key1","value1"),newKeyValuePair("key2","value2"),newKeyValu...
现在需要将List转换为Map List,以学号作为键,姓名作为值。可以通过如下示例代码实现: importjava.util.List;importjava.util.Map;importjava.util.stream.Collectors;publicclassStudent{privateStringid;privateStringname;publicStudent(Stringid,Stringname){this.id=id;this.name=name;}publicStringgetId(){returnid;}...
Map> res = toMapList(list, new KeyFunc() { @Override public Integer getKey(String s) { return s.length(); } }); System.out.println(res); } 接下来再看一下jdk1.8之后的写法,结合stream + 函数方法来实现 public staticMap> toMapList(Listlist, Functionfunc) { ...
一、list转map List<UserInfoDetailVo> userList =newArrayList<>();//userInfo字段 id主键; nickname名称; className班级名称; age年龄; sex性别; money零花钱userList.add(newUserInfoDetailVo(1L,"李明","一年级一班",7,"男",newBigDecimal("45"))); ...
(2,"Bob"));personList.add(newPerson(3,"Charlie"));// 将List转换为Map ListList<Map<String,Object>>mapList=personList.stream().map(person->{Map<String,Object>map=newHashMap<>();map.put("id",person.getId());map.put("name",person.getName());returnmap;}).collect(Collectors.toList...
Map<String,String>map=list.stream().collect(Collectors.toMap(Person::getId,Person::getName,(key1,key2)->key2));System.out.println(map); 输出结果: 2.重复时将前面的value 和后面的value拼接起来; 代码语言:javascript 代码运行次数:0 运行 ...
通过JAVA8的流操作需要转换成userId为key, name为value的map。 public class User { private Integer userId; private String name; private String email; public User(Integer userId, String name, String email) { this.userId = userId; this.name = name; this.email = email; } public Integer getUs...
在实际项目中我们经常会用到 List 转 Map 操作,在过去我们可能使用的是 for 循环遍历的方式。举个例子:先定义类: // 简单对象 @Accessors(chain = true) // 链式方法 @lombok.Data class User { private String…