Java处理KV数据遇到K重复

文章目录

      • 一般方法
      • 通过guava实现

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

一般方法

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]

通过guava实现

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


<dependency>
  <groupId>com.google.guavagroupId>
  <artifactId>guavaartifactId>
  <version>28.1-jreversion>
dependency>
Multimap<String,Integer> map = ArrayListMultimap.create();      
    map.put("aa", 1);
    map.put("aa", 2);
System.out.println(map.get("aa"));  //[1, 2]

你可能感兴趣的:(小白学java,java,开发语言)