关注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的查询: 
  
Java代码   收藏代码
  1. Map<String, Integer> user = new HashMap<String, Integer>();  
  2.         user.put("张三"20);  
  3.         user.put("李四"22);  
  4.         user.put("王五"25);  
  5.         // 所有年龄大于20岁的人员  
  6.         Map<String, Integer> filtedMap = Maps.filterValues(user,  
  7.                 new Predicate<Integer>() {  
  8.                     public boolean apply(Integer value) {  
  9.                         return value > 20;  
  10.                     }  
  11.                 });  
  12.         System.out.println(filtedMap);  


   再来点例子,加深了解: 

  
Java代码   收藏代码
  1. public class MutliMapTest {  
  2.     public static void main(String... args) {  
  3.   Multimap<String, String> myMultimap = ArrayListMultimap.create();  
  4.   
  5.   // Adding some key/value  
  6.   myMultimap.put('Fruits''Bannana');  
  7.   myMultimap.put('Fruits''Apple');  
  8.   myMultimap.put('Fruits''Pear');  
  9.   myMultimap.put('Vegetables''Carrot');  
  10.   
  11.   // Getting the size  
  12.   int size = myMultimap.size();  
  13.   System.out.println(size);  // 4  
  14.   
  15.    
  16.   Collection<string> fruits = myMultimap.get('Fruits');  
  17.   System.out.println(fruits); // [Bannana, Apple, Pear]  
  18.   
  19.   Collection<string> vegetables = myMultimap.get('Vegetables');  
  20.   System.out.println(vegetables); // [Carrot]  
  21.   
  22.   // 循环输出  
  23.   for(String value : myMultimap.values()) {  
  24.    System.out.println(value);  
  25.   }  
  26.   
  27.   // 移走某个值  
  28.   myMultimap.remove('Fruits','Pear');  
  29.   System.out.println(myMultimap.get('Fruits')); // [Bannana, Pear]  
  30.   
  31.   //移走某个KEY的所有对应value  
  32.   myMultimap.removeAll('Fruits');  
  33.   System.out.println(myMultimap.get('Fruits')); // [] (Empty Collection!)  
  34.  }  
  35. }  


  更详细的看: 
http://docs.guava-libraries.googlecode.com/git-history/release09/javadoc/com/google/common/collect/Multimap.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值