posts - 110, comments - 101, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          注google的guava工具包 非常實用

          Posted on 2012-12-13 22:00 云云 閱讀(2141) 評論(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

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 兴隆县| 平南县| 桓台县| 平舆县| 扬中市| 张家口市| 玉林市| 阿巴嘎旗| 定南县| 惠水县| 延边| 宁化县| 沐川县| 芦山县| 平安县| 南涧| 区。| 德江县| 西畴县| 金昌市| 夹江县| 广汉市| 中方县| 苍南县| 辽阳市| 大厂| 湖南省| 仙居县| 出国| 神木县| 长沙县| 甘德县| 平阴县| 石柱| 张家港市| 镇康县| 东乡| 调兵山市| 莱芜市| 四会市| 广汉市|