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
  • 相关阅读:
    简易计算机
    作业-继承
    exception
    作业-窗口
    作业-数字
    作业8
    作业9-1
    作业9-2
    book
    成绩录入
  • 原文地址:https://www.cnblogs.com/bbllw/p/12705864.html
Copyright © 2011-2022 走看看