• java中key-value数据有重复KEY如何存储


    在java程序开发中,一般采用MAP来存储key-value的数据,在特殊应用场景下,key会出现重复而且不能覆盖的情况,采用HashMap无法满足需求,而采用IdentityHashMap时,如果不通过遍历KEY的方式又无法获取到指定KEY的值,有没有什么其它好的方式来解决这样的数据存储呢?

    1. 一般方法

    Key-List实现方式如下:

    Map<Key, List<Value>> 

    2. 通过guava实现
    Guava是一种基于开源的Java库,Google Guava源于2007年的"Google Collections Library"。这个库是为了方便编码,并减少编码错误。这个库用于提供集合,缓存,支持原语句,并发性,常见注解,字符串处理,I/O和验证的实用方法。

    <!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>28.1-jre</version>
    </dependency>

    当我们需要一个map中包含key为String类型,value为List类型的时候,以前我们是这样写的

    Map<String,List<Integer>> map = new HashMap<String,List<Integer>>();
    List<Integer> list = new ArrayList<Integer>();
    list.add(1);
    list.add(2);
    map.put("aa", list);
    System.out.println(map.get("aa"));//[1, 2]

    现在:

    Multimap<String,Integer> map = ArrayListMultimap.create();      
    map.put("aa", 1);
    map.put("aa", 2);
    System.out.println(map.get("aa"));  //[1, 2]
    
    
    原文链接:https://blog.csdn.net/zyxhangiian123456789/java/article/details/91967387
  • 相关阅读:
    【第五年-创业路】
    【工具与解决方案】从做项目中积累学习
    【原理篇】人工智能
    【原理】分布式系统
    攻克Spring
    工具篇集锦
    最好用的JQuery插件集合以及组合拳
    设计模式 之状态模式
    设计模式 之组合模式
    设计模式之 封装算法
  • 原文地址:https://www.cnblogs.com/bbllw/p/12705864.html
Copyright © 2020-2023  润新知