首页 / JAVA / Java8-Map数据处理
Java8-Map数据处理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java8-Map数据处理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3217字,纯文字阅读大概需要5分钟。
内容图文
![Java8-Map数据处理](/upload/InfoBanner/zyjiaocheng/609/b17612e9aafa4e2ea39f5766e0a4b33f.jpg)
Map<String, Area> map = new LinkedHashMap<>();
Area a1 = new Area(1, 10L, "河南", new BigDecimal(100), 1);
Area a2 = new Area(2, 20L, "江西", new BigDecimal(200), 2);
Area a3 = new Area(3, 30L, "北京", new BigDecimal(300), 3);
Area a4 = new Area(4, 40L, "天津", new BigDecimal(400), 1);
Area a5 = new Area(4, 40L, "天津", new BigDecimal(400), 1);
map.put("101", a1);
map.put("102", a2);
map.put("103", a3);
map.put("105", a5);
map.put("104", a4);
Map<String, Double> singleMap = new LinkedHashMap<>();
singleMap.put("100", 0.08);
singleMap.put("101", 0.1);
singleMap.put("103", 0.2);
singleMap.put("102", 0.91);
// map 迭代循环 key value
map.forEach((key, value) -> {
System.out.println(key + ":" + value);
});
// map对象value转化为list集合
List<Area> valueList = map.values().stream().collect(Collectors.toList());
System.out.println("map对象value转化为list集合 = " + valueList);
// map对象key转化为list集合
List<String> keyList = map.keySet().stream().collect(Collectors.toList());
System.out.println("map对象key转化为list集合 = " + keyList);
Map<String, Area> keyAsc = Java8MapUtil.sortByKeyAsc(map);
System.out.println("map的key进行倒序正序排序 = " + keyAsc);
Map<String, Area> keyDesc = Java8MapUtil.sortByKeyDesc(map);
System.out.println("map的key进行倒序排序 = " + keyDesc);
Map<String, Double> valueAsc = Java8MapUtil.sortByValueAsc(singleMap);
System.out.println("map的value进行倒序正序排序 = " + valueAsc);
Map<String, Double> valueDesc = Java8MapUtil.sortByValueDesc(singleMap);
System.out.println("map的value进行倒序排序 = " + valueDesc);
// 集合对象转Map
Map<Integer, Area> areaMap = valueList.stream().collect(toMap(Area::getId, Function.identity(), (existing, replacement) -> existing));
System.out.println("集合对象转Map = " + areaMap);
// List转ConcurrentMap
ConcurrentHashMap<Integer, Area> concurrentHashMap = valueList.stream().collect(toMap(Area::getId, Function.identity(), (o1, o2) -> o1, ConcurrentHashMap::new));
System.out.println("List转ConcurrentMap = " + concurrentHashMap);
// 根据集合对象某一个值排序后分组转化为TreeMap
Map<Integer, Area> treeMap = valueList.stream().sorted(Comparator.comparing(Area::getId)).collect(toMap(Area::getId, Function.identity(), (o1, o2) -> o1, TreeMap::new));
System.out.println("根据集合对象某一个值排序后分组转化为TreeMap = " + treeMap);
@Test
public void listMapGroupBy() {
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> paramMap = new HashMap<>();
paramMap = new HashMap<>();
paramMap.put("dicId", 2);
paramMap.put("dicName", "钢筋");
paramMap.put("dicDes", "钢筋1号");
list.add(paramMap);
paramMap.put("dicId", 1);
paramMap.put("dicName", "钢材");
paramMap.put("dicDes", "钢材1号");
list.add(paramMap);
paramMap = new HashMap<>();
paramMap.put("dicId", 3);
paramMap.put("dicName", "钢筋");
paramMap.put("dicDes", "钢筋2号");
list.add(paramMap);
paramMap = new HashMap<>();
paramMap.put("dicId", 3);
paramMap.put("dicName", "河沙");
paramMap.put("dicDes", "河沙1号");
list.add(paramMap);
Map<String, List<Map<String, Object>>> mapGroup = list.stream().collect(groupingBy(map -> map.get("dicId").toString()));
System.out.println("mapGroup = " + mapGroup);
}
Map<String, Object> map = JSONObject.parseObject(jsonData, new TypeReference<Map<String, Object>>() {
});
内容总结
以上是互联网集市为您收集整理的Java8-Map数据处理全部内容,希望文章能够帮你解决Java8-Map数据处理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。