zoukankan      html  css  js  c++  java
  • 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");
  • 相关阅读:
    用wamp配置的环境,想用CMD连接mysql怎么连
    Mysql删除表
    MySQL创建表
    Leetcode 130. Surrounded Regions
    Leetcode 111. Minimum Depth of Binary Tree
    Leetcode 110. Balanced Binary Tree
    Leetcode 98. Validate Binary Search Tree
    Leetcode 99. Recover Binary Search Tree
    Leetcode 108. Convert Sorted Array to Binary Search Tree
    Leetcode 105. Construct Binary Tree from Preorder and Inorder Traversal
  • 原文地址:https://www.cnblogs.com/input4hua/p/7859554.html
Copyright © 2011-2022 走看看