zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    c++中为什么static成员函数不能声明为const
    VS 如何查看反汇编代码?
    Algorithm: 获取指定范围的随机数(包含范围临界值)
    Windows2003防黑客入侵:系统权限与安全配置
    nc使用方法
    突破安全狗的技术总汇
    入侵检测经验总结
    Temporary failure in name resolution:Illegal seek(转)
    各种在线编辑器漏洞
    Linux加固
  • 原文地址:https://www.cnblogs.com/bbllw/p/12705864.html
Copyright © 2011-2022 走看看