`

关注google的guava工具包

阅读更多
google的guava工具包的确很多好东西,包括之前的字符串处理工具类的,还有大量的collection相关的,项目地址在:http://code.google.com/p/guava-libraries/
留意到其中的collection相关类中的map,简单介绍如下,更多的请大家补充挖掘或者
看原来的文档:



    guava提供的是多值map!,就是说,一个key,可以对应多个value了,比如一个人会有多个联系号码等,可以表达为:
    multimap<String,String> phonebook=ArrayListMultmap.create();
    phonebook.put("a","43434");
    phonebook.put("b","3434434");
  system.out.println(phonebook,get("a"));


  还有map的查询:
  
Map<String, Integer> user = new HashMap<String, Integer>();
		user.put("张三", 20);
		user.put("李四", 22);
		user.put("王五", 25);
		// 所有年龄大于20岁的人员
		Map<String, Integer> filtedMap = Maps.filterValues(user,
				new Predicate<Integer>() {
					public boolean apply(Integer value) {
						return value > 20;
					}
				});
		System.out.println(filtedMap);




   再来点例子,加深了解:

  

public class MutliMapTest {
    public static void main(String... args) {
  Multimap<String, String> myMultimap = ArrayListMultimap.create();

  // Adding some key/value
  myMultimap.put('Fruits', 'Bannana');
  myMultimap.put('Fruits', 'Apple');
  myMultimap.put('Fruits', 'Pear');
  myMultimap.put('Vegetables', 'Carrot');

  // Getting the size
  int size = myMultimap.size();
  System.out.println(size);  // 4

 
  Collection<string> fruits = myMultimap.get('Fruits');
  System.out.println(fruits); // [Bannana, Apple, Pear]

  Collection<string> vegetables = myMultimap.get('Vegetables');
  System.out.println(vegetables); // [Carrot]

  // 循环输出
  for(String value : myMultimap.values()) {
   System.out.println(value);
  }

  // 移走某个值
  myMultimap.remove('Fruits','Pear');
  System.out.println(myMultimap.get('Fruits')); // [Bannana, Pear]

  //移走某个KEY的所有对应value
  myMultimap.removeAll('Fruits');
  System.out.println(myMultimap.get('Fruits')); // [] (Empty Collection!)
 }
}



  更详细的看:
http://docs.guava-libraries.googlecode.com/git-history/release09/javadoc/com/google/common/collect/Multimap.html
11
6
分享到:
评论
5 楼 ron.luo 2014-08-28  
牛逼Class.
4 楼 alyouge 2012-12-13  
果然是个好东西
3 楼 hahalq 2012-12-13  
恩。。。不错的工具
2 楼 jackyrong 2012-12-12  
原来这样,感谢
1 楼 kidneyball 2012-12-12  
guava 12的ListMultiMap序列化时会抛异常,不能放在EJB或者Session(如果需要Session复制的话)里。guava 13还没有机会测试。

相关推荐

    Google的Guava工具包

    Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你...

    google开源项目guava.jar包

    谷歌的Guava库是Java开发中的一个非常重要的开源项目,它提供了一系列的高效、实用的工具类,大大简化了常见的编程任务。Guava的核心特性包括集合框架、缓存、原生类型支持、并发库、字符串处理、I/O操作等。这个...

    guava-use:使用谷歌guava工具包

    标题中的“guava-use:使用谷歌guava工具包”表明我们即将探讨的是Google提供的Guava库,这是一个广泛使用的Java库,包含了许多实用的工具类和集合框架的扩展。Guava库旨在提高Java开发的效率,提供了如缓存、并发...

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

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

    google guava 中文教程

    总的来说,Google Guava库是一个功能强大的Java工具包,涵盖了从集合、并发到I/O的多个方面,极大地提高了Java开发的效率和代码质量。通过学习和熟练掌握Guava,开发者能够编写出更加高效、易维护的Java应用程序。在...

    Google Guava 官方教程

    Google Guava 是一个广泛使用的 Java 库,它提供了一系列现代编程实用工具,旨在简化常见的编程任务。Guava 提供了集合框架的扩展、并发支持、缓存机制、字符串处理工具、I/O 工具以及许多其他功能。这个官方教程将...

    com.google.guava_1.6.0.jar.zip

    在Java编程中,Google Guava库是一个不可或缺的工具集合,它提供了大量的高效、实用的类和方法,极大地提升了开发效率。本次我们将聚焦于Guava中的`Ints`模块,通过分析`com.google.guava_1.6.0.jar.zip`这个压缩包...

    Getting Started with Google Guava

    《Getting Started with Google Guava》是Bill Bejeck所著,旨在帮助Java开发者通过Google Guava库编写更优质、更高效的代码。Bill Bejeck是一位拥有10年经验的资深软件工程师,专注于各种项目的开发工作。在写作...

    guava多个版本jar包

    Guava是Google开发的一个Java库,它包含许多Google核心库使用的功能,如集合、缓存、并发库、原生类型支持、字符串处理、I/O等。这个压缩包包含的是Guava的不同版本,分别是guava-2.6.2.jar、guava-18.0.jar、guava-...

    Google Guava

    在《Getting Started with Google Guava》一书中,Bill Bejeck讲解了如何使用Guava库中的各种工具来优化日常的编程实践。书中内容覆盖了Guava库提供的多种实用工具和功能,其中包括集合框架的扩展、缓存机制、并发...

    [] - 2023-05-06 Google Guava 工具包用起来太爽了!.pdf

    互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术...

    guavapdf-ch_GoogleGuava官方教程_

    Google Guava 是一个开源库,为Java开发人员提供了一组核心库,包括集合、缓存、并发工具、I/O工具、字符串处理、实用方法等。这个官方教程主要针对Guava库的使用进行详细介绍,帮助开发者更有效地利用Guava来优化...

    google guava

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

    Getting Started with Google Guava code

    Google Guava 是一个广泛使用的开源库,为Java开发人员提供了一系列实用工具类和集合框架。这个库旨在简化常见的编程任务,提高代码的可读性和可维护性。Guava 提供了丰富的功能,包括缓存、并发工具、原生类型支持...

    Guava 工程项目包 有实例

    Guava 是一个由 Google 开发并维护的 Java 库,它提供了许多实用工具类和集合框架的增强功能,极大地丰富了 Java 平台的标准库。Guava 的目标是解决 Java 开发人员在日常工作中遇到的各种常见问题,提高开发效率和...

    Guava的Jar包(guava-26.0-jre.jar)

    Guava是Google公司开发的一款适用于Java的工具类集合。

    guava-25.1-jre.jar

    google的guava工具包很实用,包括之前的字符串处理工具类的,还有大量的collection相关的

    guava-23.0.zip guava.jar guava

    Guava是Google开发的一个核心库,它为Java平台提供了许多实用工具类,极大地简化了常见的编程任务。在标题和描述中提到的"guava-23.0.zip"是一个包含Guava库版本23.0的压缩文件,而"guava.jar"则是Guava库的JAR文件...

    guava(google的java集合包)

    Guava是Google为Java平台设计的一个开源库,它极大地扩展了Java的标准库,尤其是在集合、缓存、并发和I/O等方面。Guava的核心特性包括: 1. **集合框架增强**:Guava提供了丰富的集合类,如Multiset(多集)、...

Global site tag (gtag.js) - Google Analytics