import constant.Collect;
import entity.User;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class CollectionMy {
public static void main(String[] args) {
// String[] arrays = {"hello"," , ","world"};
//
// System.out.println(arrayToList1(arrays));
// System.out.println(arrayToList2(arrays));
// System.out.println(listToArray1(arrayToList2(arrays)));
// System.out.println(listToArray2(arrayToList2(arrays)));
//
// Map result = listToMap1(Collect.listEntiyChina);
// System.out.println(result);
// Map result = listToMap2(Collect.listEntiyChina);
// System.out.println(result);
// sortList(Collect.listEntiyJapan);
//
Map> result = listToMap4(Collect.listEntiyJapan);
System.out.println(result);
Map mapRepeat = new HashMap<>();
}
/**
* Java8 数组转为List
* @param arrays
* @return
*/
public static List arrayToList1(String[] arrays) {
List result = Stream.of(arrays).collect(Collectors.toList());
return result;
}
/**
* Java8 List转为数组
* @param list
* @return
*/
public static String[] listToArray1( List list) {
String[] result = list.stream().toArray(String[]::new);
Arrays.stream(result).forEach(str -> System.err.println(str));
return result;
}
/**
* Java8 List转为Map
* ID 必须为唯一性
* @param list
* @return
*/
public static Map listToMap1(List list) {
Map result = list.stream().collect(Collectors.toMap(e -> e.getId(), Function.identity()));
return result;
}
/**
* Java8 List转为Map
* ID 必须为唯一性
* @param list
* @return
*/
public static Map listToMap2(List list) {
Map result = list.stream().collect(Collectors.toMap(User::getId, user->user));
return result;
}
/**
* Java8 List转为Map
* ID重复分组
* @param list
* @return
*/
public static Map> listToMap3(List list) {
Map> result = list.stream().collect(Collectors.groupingBy(User::getId));
return result;
}
/**
* Java8 List转为Map
* 根据年龄排序后,再根据ID重复分组
* @param list
* @return
*/
public static Map> listToMap4(List list) {
Collections.sort(list, Comparator.comparing(User::getId).thenComparing(User::getAge));
list.forEach(System.out::println);
System.out.println("----------------");
Map> result = list.stream().collect(Collectors.groupingBy(User::getId));
return result;
}
public static void sortList(List list) {
Collections.sort(list, Comparator.comparing(User::getId).thenComparing(User::getAge));
list.forEach(System.out::println);
}
public static List arrayToList2(String[] arrays) {
List result = Arrays.asList(arrays);
return result;
}
public static String[] listToArray2( List list) {
String[] result = list.toArray(new String[list.size()]);
return result;
}
—————————————— https://www.iteye.com/blog/bugyun-2433872
标签:Map,return,List,list,println,result,互转
来源: https://www.cnblogs.com/hahajava/p/12144197.html