google的guava工具包的确很多好东西,包括之前的字符串处理工具类的,还有大量的collection相关的,项目地址在:http://code.google.com/p/guava-libraries/
留意到其中的collection相关类中的map,简单介绍如下,更多的请大家补充挖掘或者
看原来的文档:
guava提供的是多值map!,就是说,一个key,可以对应多个value了,比如一个人会有多个联系号码等,可以表达为:
返回是一个 集合类
Multimap<String, Object> phonebook = ArrayListMultimap.create(); phonebook.put("1", "A"); phonebook.put("2", "B"); phonebook.put("1", "C"); Collection<Object> collection = phonebook.get("1"); System.out.println(phonebook.get("1"));
下面说一下 有关map的查询:
Map<String, Object> map = new HashMap<String, Object>(); map.put("张三", 20); map.put("李四", 22); map.put("王五", 25); // 所有年龄大于20岁的人员 Map<String, Object> map2 = Maps.filterValues(map, new Predicate<Object>() { @Override public boolean apply(Object obj) { return (Integer)obj > 20; } }); System.out.println(map2);
再来点例子,加深了解:
Multimap<String, String> multimap = ArrayListMultimap.create(); // Adding some key/value multimap.put("Fruits", "Bannana"); multimap.put("Fruits", "Apple"); multimap.put("Fruits", "Pear"); multimap.put("Vegetables","Carrot"); // Getting the size int size = multimap.size(); System.out.println(size); // 4 Collection<String> fruits = multimap.get("Fruits"); System.out.println(fruits);//[Bannana, Apple, Pear] Collection<String> vegetables = multimap.get("Vegetables"); System.out.println(vegetables);//[Carrot] // 循环输出 for(String value : multimap.values()){ System.out.println(value);//Bannana,Apple,Pear,Carrot } // 移走某个值 multimap.remove("Fruits", "Pear"); System.out.println(multimap.get("Fruits")); //[Bannana, Apple] //移走某个KEY的所有对应value multimap.removeAll("Fruits"); System.out.println(multimap.get("Fruits"));//[]
相关推荐
Guava的集合框架扩展了Java内置的集合类,如List、Set和Map,提供了更强大的功能。例如,它包含Multiset(多集合)和Multimap(多映射)这样的数据结构,可以方便地处理多值关联的情况。Guava还引入了Immutable...
Guava是Google推出的一个强大的Java工具包,其中的Multiset、Multimap和GroupingBy等功能提供了高级的集合操作,特别是对于集合的分组功能,它提供了一种高效且灵活的方式。 首先,我们需要理解Guava中的`...
谷歌Guava库是一个广泛使用的Java库,它提供了许多核心库的实用工具类,包括集合、缓存、并发、I/O、字符串处理、泛型 utilities、错误处理、网络、数学运算以及类加载器支持等多个方面。Guava的目标是使Java编程...
Google Guava是一个由Google开发并维护的开源Java库,它为Java开发者提供了许多实用的工具类和集合框架,极大地简化了常见的编程任务。这个框架包含了多个模块,如基础(base)、缓存(cache)、I/O(io)以及并发...
Guava是Google开发的一个开源Java库,它提供了大量有用的工具类和函数式接口,极大地方便了Java开发者的日常编程工作。 首先,标题中提到的“guava不可修改集合”指的是Guava库中的一类集合,它们被设计为不可变。...
Google Guava是Google为Java开发者提供的一套强大的工具库,它包含了一系列高效、实用的集合框架、并发库、缓存机制、I/O操作以及字符串处理等功能。Guava 19.0版本是其历史中的一个重要里程碑,引入了许多优化和新...
此外,它还包含了对并发操作的支持,如ImmutableList、ImmutableSet、ImmutableMap等不可变集合,以及Future和 ListeningExecutorService等线程管理工具。 描述中提到的"guava-19.0-sources.jar"则是Guava库19.0...
Google Guava 是一个由 Google 开发的 Java 库,它提供了许多基础工具,包括集合、缓存、原生类型支持、并发库、字符串处理、I/O 等等。在版本 30.1.1 中,Guava 继续提供了一系列强大且实用的类,帮助开发者更高效...
### Google Guava Collections 使用介绍 #### 一、概述 Google Guava Collections 是 Java Collections Framework 的...无论是日常开发还是处理复杂的业务逻辑,Guava Collections 都是值得学习和使用的强大工具包。
谷歌的Guava库是Java开发中的一个强大工具集,它为开发者提供了许多实用的功能,显著提高了代码的效率和可读性。Guava 18.0 版本是该库的一个重要里程碑,它包含了丰富的API和性能优化。下面将详细讨论Guava的主要...
Guava是Google开发的一个Java库,它提供了许多高级和实用的集合框架、缓存机制、并发工具、字符串处理函数以及I/O工具等。Guava API文档详细地介绍了这个库的各种功能,帮助开发者更好地理解和使用Guava。 1. 集合...
Guava是Google开发的一个Java库,它包含许多Google的核心库,如集合、缓存、并发库、原生类型支持、字符串处理、I/O等。Guava的R07版本是该库的一个特定发行版,可能包含了截止到那个版本的一些新特性、改进和错误...
总结来说,Guava工具包为Java开发者提供了大量实用的功能,涵盖了字符串处理、集合操作、参数校验等多个方面。通过上述几个核心类的介绍,我们可以看到Guava在简化代码编写、提高代码质量方面的显著作用。对于Java...
Guava是Google开发的一个Java库,它包含许多Google的核心库,如集合、缓存、并发库、原生类型支持、字符串处理、I/O等。这个库极大地丰富了Java的生态系统,提高了开发效率。本文将详细讲解Guava的一些常用API及其在...
1. **集合框架扩展**:Guava对标准Java集合进行了增强,提供了一系列新的集合实现和工具类,例如`Multiset`、`Multimap`、`ImmutableList`等。 2. **缓存**:通过`LoadingCache`和`CacheBuilder`可以轻松创建高性能...
Guava是Google为Java平台设计并维护的一个开源库,它提供了许多高级功能和实用工具,极大地增强了Java开发的效率和代码质量。Guava 26.0-jre版本是针对Java运行时环境(JRE)优化的一个特定版本,旨在更好地支持Java...
Guava是Google开发的一个核心库,它为Java平台提供了许多实用工具类,极大地丰富了Java标准库的功能。这个"guava-18.0资料"包含的资源是Guava库的18.0版本,该版本是Guava的一个稳定版本,提供了一系列改进和新特性...
Guava是Google开源的一个Java库,它提供了许多高级和实用的集合框架、缓存机制、并发工具、IO工具以及字符串处理等功能。Guava 19.0是该库的一个版本,包含了众多经过优化和测试的类与方法,适用于各种复杂的Java...
Google Guava是Google为Java平台设计的一个开源库,它包含了许多针对Java集合框架的增强,如更强大的Map和Set实现,以及对并发、缓存、I/O操作的高级支持。Guava还提供了事件bus、函数式编程工具、字符串处理、缓存...
Guava是由Google开发并维护的一个强大的Java工具库,它包含了许多实用的集合类、缓存机制、并发工具、字符串处理函数以及I/O工具等。Guava不仅提供了许多标准Java集合框架的扩展,还引入了一些创新性的数据结构和...