`
sungang_1120
  • 浏览: 323805 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类

关注google的guava工具包Map集合

阅读更多

 

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"));//[]

 

分享到:
评论

相关推荐

    google开源项目guava.jar包

    Guava的集合框架扩展了Java内置的集合类,如List、Set和Map,提供了更强大的功能。例如,它包含Multiset(多集合)和Multimap(多映射)这样的数据结构,可以方便地处理多值关联的情况。Guava还引入了Immutable...

    java集合分组(Guava)

    Guava是Google推出的一个强大的Java工具包,其中的Multiset、Multimap和GroupingBy等功能提供了高级的集合操作,特别是对于集合的分组功能,它提供了一种高效且灵活的方式。 首先,我们需要理解Guava中的`...

    谷歌guava的jar包和源码,值得收藏

    谷歌Guava库是一个广泛使用的Java库,它提供了许多核心库的实用工具类,包括集合、缓存、并发、I/O、字符串处理、泛型 utilities、错误处理、网络、数学运算以及类加载器支持等多个方面。Guava的目标是使Java编程...

    google guava

    Google Guava是一个由Google开发并维护的开源Java库,它为Java开发者提供了许多实用的工具类和集合框架,极大地简化了常见的编程任务。这个框架包含了多个模块,如基础(base)、缓存(cache)、I/O(io)以及并发...

    guava不可修改集合

    Guava是Google开发的一个开源Java库,它提供了大量有用的工具类和函数式接口,极大地方便了Java开发者的日常编程工作。 首先,标题中提到的“guava不可修改集合”指的是Guava库中的一类集合,它们被设计为不可变。...

    Google-guava 19.0

    Google Guava是Google为Java开发者提供的一套强大的工具库,它包含了一系列高效、实用的集合框架、并发库、缓存机制、I/O操作以及字符串处理等功能。Guava 19.0版本是其历史中的一个重要里程碑,引入了许多优化和新...

    guava-19.0 jar和sources

    此外,它还包含了对并发操作的支持,如ImmutableList、ImmutableSet、ImmutableMap等不可变集合,以及Future和 ListeningExecutorService等线程管理工具。 描述中提到的"guava-19.0-sources.jar"则是Guava库19.0...

    Google Guava 30.1.1常用类介绍及实践代码

    Google Guava 是一个由 Google 开发的 Java 库,它提供了许多基础工具,包括集合、缓存、原生类型支持、并发库、字符串处理、I/O 等等。在版本 30.1.1 中,Guava 继续提供了一系列强大且实用的类,帮助开发者更高效...

    Google-Guava-Collections-使用介绍

    ### Google Guava Collections 使用介绍 #### 一、概述 Google Guava Collections 是 Java Collections Framework 的...无论是日常开发还是处理复杂的业务逻辑,Guava Collections 都是值得学习和使用的强大工具包。

    google-guava-18.0

    谷歌的Guava库是Java开发中的一个强大工具集,它为开发者提供了许多实用的功能,显著提高了代码的效率和可读性。Guava 18.0 版本是该库的一个重要里程碑,它包含了丰富的API和性能优化。下面将详细讨论Guava的主要...

    guava-API文档

    Guava是Google开发的一个Java库,它提供了许多高级和实用的集合框架、缓存机制、并发工具、字符串处理函数以及I/O工具等。Guava API文档详细地介绍了这个库的各种功能,帮助开发者更好地理解和使用Guava。 1. 集合...

    guava-r07.zip

    Guava是Google开发的一个Java库,它包含许多Google的核心库,如集合、缓存、并发库、原生类型支持、字符串处理、I/O等。Guava的R07版本是该库的一个特定发行版,可能包含了截止到那个版本的一些新特性、改进和错误...

    guava学习笔记

    总结来说,Guava工具包为Java开发者提供了大量实用的功能,涵盖了字符串处理、集合操作、参数校验等多个方面。通过上述几个核心类的介绍,我们可以看到Guava在简化代码编写、提高代码质量方面的显著作用。对于Java...

    guava 常用API说明

    Guava是Google开发的一个Java库,它包含许多Google的核心库,如集合、缓存、并发库、原生类型支持、字符串处理、I/O等。这个库极大地丰富了Java的生态系统,提高了开发效率。本文将详细讲解Guava的一些常用API及其在...

    Getting start with guava

    1. **集合框架扩展**:Guava对标准Java集合进行了增强,提供了一系列新的集合实现和工具类,例如`Multiset`、`Multimap`、`ImmutableList`等。 2. **缓存**:通过`LoadingCache`和`CacheBuilder`可以轻松创建高性能...

    guava-26.0-jre.zip

    Guava是Google为Java平台设计并维护的一个开源库,它提供了许多高级功能和实用工具,极大地增强了Java开发的效率和代码质量。Guava 26.0-jre版本是针对Java运行时环境(JRE)优化的一个特定版本,旨在更好地支持Java...

    guava-18.0资料

    Guava是Google开发的一个核心库,它为Java平台提供了许多实用工具类,极大地丰富了Java标准库的功能。这个"guava-18.0资料"包含的资源是Guava库的18.0版本,该版本是Guava的一个稳定版本,提供了一系列改进和新特性...

    guava 19.0开发文档

    Guava是Google开源的一个Java库,它提供了许多高级和实用的集合框架、缓存机制、并发工具、IO工具以及字符串处理等功能。Guava 19.0是该库的一个版本,包含了众多经过优化和测试的类与方法,适用于各种复杂的Java...

    google-guava所需依赖包,listenablefuture-9999.0-empty-to-avoid-conflic

    Google Guava是Google为Java平台设计的一个开源库,它包含了许多针对Java集合框架的增强,如更强大的Map和Set实现,以及对并发、缓存、I/O操作的高级支持。Guava还提供了事件bus、函数式编程工具、字符串处理、缓存...

    java基础 集合-26-Guava开源组件使用(4)

    Guava是由Google开发并维护的一个强大的Java工具库,它包含了许多实用的集合类、缓存机制、并发工具、字符串处理函数以及I/O工具等。Guava不仅提供了许多标准Java集合框架的扩展,还引入了一些创新性的数据结构和...

Global site tag (gtag.js) - Google Analytics