guava入门学习2(新集合)
生活随笔
收集整理的這篇文章主要介紹了
guava入门学习2(新集合)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
新集合類型 這可能是你夢寐以求的集合,在解決瘙癢方面,功能異常強大
2.1 MultiSet 痛點:統計次數 傳統做法: Map<String,Integer> count = new HashMap<String,Integer>(); guava實現: Multiset multiset = HashMultiset.create(); multiset.add("c”); multiset.add("c”); multiset.count(“c”);
2.2 MultiMap 痛點:單個指標對應集合 傳統做法: Map<String,List<String>>、Map<String,Set<String>> guava實現: Multimap<String, String> multimap = ArrayListMultimap.create(); multimap.put("a","a1"); multimap.put("a","a2"); List<String> a = (List)multimap.get("a"); a.forEach(System.out::print);
2.3 BiMap 痛點:一對一鍵值對關系維護 傳統做法: Map<String,Integer> nameMap = new HashMap<String,Integer>(); Map<Integer,String> idMap = new HashMap<Integer,String>(); 需要同步維護兩個map guava實現: BiMap<String,Integer> biMap = HashBiMap.create(); biMap.put("aa",1); biMap.put("bb",2); biMap.put("cc",3); Integer id = biMap.get("aa"); System.out.println(id); String name = biMap.inverse().get(2); System.out.println(name);
2.4 Table 痛點:需要模擬行列的關系,復雜度及代碼維護代價提高 傳統做法: Map<String,Map<String,String>> tabMap = new HashMap<String,Map<String,String>>(); 字段間的關系不清晰,可讀性大,維護難度大 guava實現: Table<String,String,String> table = HashBasedTable.create(); table.put("line1","coll1","l1c1"); table.put("line1","coll2","l1c2"); table.put("line2","coll1","l2c1"); Map<String,String> row1Map = table.row("line1"); Map<String,String> coll1Map = table.column("coll1");
2.1 MultiSet 痛點:統計次數 傳統做法: Map<String,Integer> count = new HashMap<String,Integer>(); guava實現: Multiset multiset = HashMultiset.create(); multiset.add("c”); multiset.add("c”); multiset.count(“c”);
2.2 MultiMap 痛點:單個指標對應集合 傳統做法: Map<String,List<String>>、Map<String,Set<String>> guava實現: Multimap<String, String> multimap = ArrayListMultimap.create(); multimap.put("a","a1"); multimap.put("a","a2"); List<String> a = (List)multimap.get("a"); a.forEach(System.out::print);
2.3 BiMap 痛點:一對一鍵值對關系維護 傳統做法: Map<String,Integer> nameMap = new HashMap<String,Integer>(); Map<Integer,String> idMap = new HashMap<Integer,String>(); 需要同步維護兩個map guava實現: BiMap<String,Integer> biMap = HashBiMap.create(); biMap.put("aa",1); biMap.put("bb",2); biMap.put("cc",3); Integer id = biMap.get("aa"); System.out.println(id); String name = biMap.inverse().get(2); System.out.println(name);
2.4 Table 痛點:需要模擬行列的關系,復雜度及代碼維護代價提高 傳統做法: Map<String,Map<String,String>> tabMap = new HashMap<String,Map<String,String>>(); 字段間的關系不清晰,可讀性大,維護難度大 guava實現: Table<String,String,String> table = HashBasedTable.create(); table.put("line1","coll1","l1c1"); table.put("line1","coll2","l1c2"); table.put("line2","coll1","l2c1"); Map<String,String> row1Map = table.row("line1"); Map<String,String> coll1Map = table.column("coll1");
轉載于:https://www.cnblogs.com/input4hua/p/7859554.html
總結
以上是生活随笔為你收集整理的guava入门学习2(新集合)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Meavn 搭建项目遇到Error cr
- 下一篇: 【实验吧】CTF_Web_简单的SQL注