1 字元串、數組、集合的轉換 定義字元串數組 String[] strArr 1.1 字元串數組轉集合 1.2 字元串集合轉數組 1.3 字元串集合轉逗號分隔的字元串 1.4 逗號分隔的字元串轉字元串集合 1.5 對象集合轉 Map 定義對象 Person 定義對象 Person 的集合 List ...
1 字元串、數組、集合的轉換
定義字元串數組 String[] strArr
String[] strArr = {"Red", "Green", "Blue"};
1.1 字元串數組轉集合
List<String> list = Arrays.asList(strArr);
1.2 字元串集合轉數組
String[] strArrNew = list.toArray(new String[0]);
1.3 字元串集合轉逗號分隔的字元串
String str = String.join(",", list);
1.4 逗號分隔的字元串轉字元串集合
List<String> list2 = new ArrayList<>(Arrays.asList(str.split(",")));
1.5 對象集合轉 Map<String, Integer>
定義對象 Person
private static class Person {
private String name;
private Integer age;
}
定義對象 Person 的集合 List
List<Person> personList = Lists.newArrayList(
new Person("Jordan", 38),
new Person("O'Neal", 34),
new Person("James", 31),
new Person("Kobe", 34),
new Person("Trace", 32)
);
對象集合轉為 Map
Map<String, Integer> personMap = personList.stream().collect(Collectors.toMap(Person::getName, Person::getAge));
2 List、Map 的排序
2.1 List 自然排序
list.sort(Comparator.naturalOrder());
2.2 List 按 age 倒序
personList.sort(Comparator.comparing(Person::getAge).reversed());
2.3 Map<String, Integer> 按 value 倒序
personMap.entrySet().stream()
.sorted(Map.Entry.comparingByValue(Comparator.reverseOrder()))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (o, n) -> o, LinkedHashMap::new));