国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用java8 新特性stream流對List<Map<String, Object>>集合進行遍歷、過濾、查詢、去重、排序、分組

這篇具有很好參考價值的文章主要介紹了使用java8 新特性stream流對List<Map<String, Object>>集合進行遍歷、過濾、查詢、去重、排序、分組。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

對于一個List<Map<String, Object>>類型的數(shù)據(jù),可以使用Java 8的新特性stream流來進行遍歷、過濾、查詢、去重、排序、分組等操作。

遍歷:

List<Map<String, Object>> dataList = new ArrayList<Map<String, Object>>();

//添加數(shù)據(jù)
Map<String, Object> map1 = new HashMap<String, Object>();
map1.put("id", 1);
map1.put("name", "張三");
dataList.add(map1);

Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("id", 2);
map2.put("name", "李四");
dataList.add(map2);

//使用stream流進行遍歷
dataList.stream().forEach(map -> {
    System.out.println("id:" + map.get("id") + ",name:" + map.get("name"));
});

過濾:

List<Map<String, Object>> dataList = new ArrayList<Map<String, Object>>();

//添加數(shù)據(jù)
Map<String, Object> map1 = new HashMap<String, Object>();
map1.put("id", 1);
map1.put("name", "張三");
map1.put("age", 20);
dataList.add(map1);

Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("id", 2);
map2.put("name", "李四");
map2.put("age", 30);
dataList.add(map2);

//使用stream流進行過濾
dataList.stream().filter(map -> (Integer) map.get("age") > 25).forEach(map -> {
    System.out.println("id:" + map.get("id") + ",name:" + map.get("name"));
});

查詢:

List<Map<String, Object>> dataList = new ArrayList<Map<String, Object>>();

//添加數(shù)據(jù)
Map<String, Object> map1 = new HashMap<String, Object>();
map1.put("id", 1);
map1.put("name", "張三");
map1.put("age", 20);
dataList.add(map1);

Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("id", 2);
map2.put("name", "李四");
map2.put("age", 30);
dataList.add(map2);

//使用stream流進行查詢
Optional<Map<String, Object>> optionalMap = dataList.stream().filter(map -> (Integer) map.get("id") == 1).findFirst();
if (optionalMap.isPresent()) {
    Map<String, Object> map = optionalMap.get();
    System.out.println("id:" + map.get("id") + ",name:" + map.get("name") + ",age:" + map.get("age"));
}

去重:

List<Map<String, Object>> dataList = new ArrayList<Map<String, Object>>();

//添加數(shù)據(jù)
Map<String, Object> map1 = new HashMap<String, Object>();
map1.put("id", 1);
map1.put("name", "張三");
map1.put("age", 20);
dataList.add(map1);

Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("id", 2);
map2.put("name", "李四");
map2.put("age", 30);
dataList.add(map2);

Map<String, Object> map3 = new HashMap<String, Object>();
map3.put("id", 2);
map3.put("name", "李四");
map3.put("age", 30);
dataList.add(map3);

//使用stream流進行去重
List<Map<String, Object>> distinctList = dataList.stream().distinct().collect(Collectors.toList());
distinctList.stream().forEach(map -> {
    System.out.println("id:" + map.get("id") + ",name:" + map.get("name") + ",age:" + map.get("age"));
});

排序:

List<Map<String, Object>> dataList = new ArrayList<Map<String, Object>>();

//添加數(shù)據(jù)
Map<String, Object> map1 = new HashMap<String, Object>();
map1.put("id", 1);
map1.put("name", "張三");
map1.put("age", 20);
dataList.add(map1);

Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("id", 2);
map2.put("name", "李四");
map2.put("age", 30);
dataList.add(map2);

Map<String, Object> map3 = new HashMap<String, Object>();
map3.put("id", 3);
map3.put("name", "王五");
map3.put("age", 25);
dataList.add(map3);

//使用stream流進行排序
List<Map<String, Object>> sortedList = dataList.stream().sorted((map1, map2) -> (Integer) map1.get("age") - (Integer) map2.get("age")).collect(Collectors.toList());
sortedList.stream().forEach(map -> {
    System.out.println("id:" + map.get("id") + ",name:" + map.get("name") + ",age:" + map.get("age"));
});

分組:文章來源地址http://www.zghlxwxcb.cn/news/detail-688573.html

List<Map<String, Object>> dataList = new ArrayList<Map<String, Object>>();

//添加數(shù)據(jù)
Map<String, Object> map1 = new HashMap<String, Object>();
map1.put("id", 1);
map1.put("name", "張三");
map1.put("age", 20);
dataList.add(map1);

Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("id", 2);
map2.put("name", "李四");
map2.put("age", 30);
dataList.add(map2);

Map<String, Object> map3 = new HashMap<String, Object>();
map3.put("id", 3);
map3.put("name", "王五");
map3.put("age", 25);
dataList.add(map3);

//使用stream流進行分組
Map<Integer, List<Map<String, Object>>> groupMap = dataList.stream().collect(Collectors.groupingBy(map -> (Integer) map.get("age")));
for (Map.Entry<Integer, List<Map<String, Object>>> entry : groupMap.entrySet()) {
    Integer age = entry.getKey();
    List<Map<String, Object>> list = entry.getValue();
    System.out.println("年齡為" + age + "的人數(shù)為" + list.size());
}

到了這里,關于使用java8 新特性stream流對List<Map<String, Object>>集合進行遍歷、過濾、查詢、去重、排序、分組的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包