posts - 110, comments - 101, trackbacks - 0, articles - 7
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

注google的guava工具包 非常实用

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


  更详细的看:
http://docs.guava-libraries.googlecode.com/git-history/release09/javadoc/com/google/common/collect/Multimap.html

只有注册用户登录后才能发表评论。


网站导航: