Multimap用法详解

Multimap

Multimap 是 Google 的 Guava 库为 Java 引入的一种新集合类型,它允许将多个值存储在单个键下。它被设计为一种替代 Map 或 Map(JDK 标准集合框架)的方案。
Multimap 扩展了 AbstractMultimap,并提供了添加、删除和访问与键相关值的方法。它还允许您高效地执行像 putAll(Map m)、removeAll(Collection c) 和 retainAll(Collection c) 这样的批量操作,这使得它在需要处理单个键下的多个值的场景中特别有用。
Multimap 的一些关键特性包括:

  1. 为单个键存储多个值。
  2. 提供添加、删除和访问值的高效方法。
  3. 支持批量操作,如 putAll、removeAll 和 retainAll。
  4. 实现了 Multimap 接口,提供了额外的方法,如 keys()、values() 和 entries()。
  5. 在许多用例中可以作为
    Map 或 Map 的替代品。

插入值

 Multimap<Object, Object> multiMap = ArrayListMultimap.create();//插入值multiMap.put("研发部","张三");multiMap.put("研发部","李四");multiMap.put("研发部","李四");multiMap.put("研发部","王五");multiMap.put("研发部","王五");multiMap.put("研发部","铁蛋");multiMap.put("研发部","铁蛋");multiMap.put("研发部","张二和");multiMap.put("宣传部","宣传");multiMap.put("宣传部","宣传2");multiMap.get("研发部").add("张小凡");

查询

            Collection<Object> name = multiMap.get("研发部");System.err.println(name);System.out.println(ImmutableSet.copyOf(name));

在这里插入图片描述

想要get返回List或者Set

在定义时可以定义为ListMultimap,SetMultimap和SortedSetMultimap等等

       ArrayListMultimap<Object, Object> myMutlimap = ArrayListMultimap.create();myMutlimap.put("myKey","1");myMutlimap.put("myKey","2");myMutlimap.put("myKey","2");List<Object> myValues = myMutlimap.get("myKey");System.err.println(myValues);

在这里插入图片描述

官方图解


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部