java list to map and map to list /***user实体类*/@Userpublic class User { private int userId; private String userName; //.....省略set,get方法}@list to map 常见的方法(性能对比未知)public void listToMap() { User userOne
/** *user实体类 */ @User public class User { private int userId; private String userName; //.....省略set,get方法 } @list to map 常见的方法(性能对比未知) public void listToMap() { User userOne = new User(); userOne.setUserId(1010); userOne.setUserName("李四"); User userTwo = new User(); userTwo.setUserId(1011); userTwo.setUserName("张三"); ListuserList = new ArrayList (); userList.add(userOne); userList.add(userTwo); // 一般方法 Map map = new HashMap (); fro(User user : userList) { map.put(user.getUserId, User); } //JAVA 8直接用流的方法(userId为key) Map map = userList.strem.collect( Collectors.toMap(User::getUserId, (p) -> p)); //Java 包装类 Integer等 (key,value都是list的对应的值) List list = new ArrayList<>(Integer); Map map = list.strem.collect( Collectors.toMap(Integer::intValue, (p) -> p));//intValue,不同类型有对应的方法 //使用guava 工具类库 Map map = Maps.uniqueIndex(userList, new Function () { public Integer apply(User from) { return from.getUserId(); }}); } @map to list public void mapToList() { Map map = new HashMap (); //取key为list的值 List listOne = new ArrayList (map.keySet()); //取value为list的值 List list = new ArrayList (map.values()); //Map.Entry 为list的值 List > listTwo = new ArrayList >(map.entrySet()); }