posts - 110, comments - 101, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
          google的guava工具包的確很多好東西,包括之前的字符串處理工具類的,還有大量的collection相關(guān)的,項(xiàng)目地址在:http://code.google.com/p/guava-libraries/
          留意到其中的collection相關(guān)類中的map,簡單介紹如下,更多的請(qǐng)大家補(bǔ)充挖掘或者
          看原來的文檔:



              guava提供的是多值map!,就是說,一個(gè)key,可以對(duì)應(yīng)多個(gè)value了,比如一個(gè)人會(huì)有多個(gè)聯(lián)系號(hào)碼等,可以表達(dá)為:
              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);  


             再來點(diǎn)例子,加深了解:

            
          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.   // 循環(huán)輸出   
          24.   for(String value : myMultimap.values()) {   
          25.    System.out.println(value);   
          26.   }   
          27.   
          28.   // 移走某個(gè)值   
          29.   myMultimap.remove('Fruits','Pear');   
          30.   System.out.println(myMultimap.get('Fruits')); // [Bannana, Pear]   
          31.   
          32.   //移走某個(gè)KEY的所有對(duì)應(yīng)value   
          33.   myMultimap.removeAll('Fruits');   
          34.   System.out.println(myMultimap.get('Fruits')); // [] (Empty Collection!)   
          35.  }   
          36. }  


            更詳細(xì)的看:
          http://docs.guava-libraries.googlecode.com/git-history/release09/javadoc/com/google/common/collect/Multimap.html

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 博野县| 建阳市| 肇源县| 沙坪坝区| 浏阳市| 舒兰市| 桓台县| 凌云县| 栾城县| 云和县| 阳江市| 富民县| 什邡市| 长海县| 合作市| 汉中市| 商丘市| 广宁县| 凤台县| 乌拉特后旗| 高碑店市| 无锡市| 房山区| 禄丰县| 婺源县| 抚松县| 合川市| 阿勒泰市| 固原市| 临泉县| 开阳县| 阿拉善左旗| 嘉兴市| 楚雄市| 公主岭市| 宁津县| 罗定市| 太原市| 榆社县| 连云港市| 玉山县|