1. 程式人生 > 其它 >Lambda學習,常用API記錄

Lambda學習,常用API記錄

1.從List<物件>中獲取某一個屬性的List
List<物件> list = new ArrayList<>();
List<屬性型別> listFileIds = list.stream().map(f -> f.get屬性()).collect(Collectors.toList());

2.從List<物件>中獲取某一個屬性的最大值,最小值
List<物件> list = new ArrayList<>();
int minInt = list.stream().mapToInt(物件 -> get屬性).min().getAsInt();
int maxInt = list.stream().mapToInt(物件 -> get屬性).max().getAsInt();
//3.List物件的某個屬性進行求和、求平均
List<物件> list = new ArrayList<>();
double sumDouble = list.stream().mapToDouble(s -> Double.parseDouble(s.get屬性().toString())).sum();
double avgDouble = list.stream().mapToDouble(s -> Double.parseDouble(s.get屬性().toString())).average().getAsDouble();
List<物件> list = new ArrayList<>();
List物件按某個屬性進行分組
Map<屬性型別, List<物件實體>> collect = list.stream().collect(Collectors.groupingBy(物件實體::get屬性名稱));
List物件按照兩個屬性組裝map
Map<一個屬性型別,另一個屬性型別> map = list.stream().collect(Collectors.toMap(DictData::get一個屬性名稱, 物件 -> 物件.get另外一個屬性名稱()));
根據條件篩選list
list = list.stream().filter(item -> 篩選條件)).collect(Collectors.toList());