• Guava中集合类的简单实用


    1.Lists

     1 //Lists
     2 System.out.println("### Lists ###");
     3 ArrayList<String> arrayList = Lists.newArrayList();
     4 arrayList.add("A");
     5 arrayList.add("B");
     6 arrayList.add("C");
     7 System.out.println(arrayList);
     8 
     9 LinkedList<String> linkedList = Lists.newLinkedList();
    10 linkedList.add("A");
    11 linkedList.add("B");
    12 linkedList.add("C");
    13 System.out.println(linkedList);
    14 
    15 System.out.println(Lists.reverse(arrayList));   //翻转集合元素的顺序
    16 System.out.println(Lists.reverse(linkedList));
    17 
    18 System.out.println(Lists.partition(arrayList, 2)); //一个集合内再分成n个子集合

    2.Sets

    //Sets
    System.out.println("### Sets ###");
    HashSet<String> set1 = Sets.newHashSet();
    set1.add("A");
    set1.add("B");
    set1.add("C");
    
    LinkedHashSet<String> set2 = Sets.newLinkedHashSet();
    set2.add("B");
    set2.add("C");
    set2.add("D");
    set2.add("E");
    
    //Sets.newTreeSet();
    //Sets.newConcurrentHashSet();
    
    System.out.println(Sets.union(set1, set2)); //返回两个集合的并集  >> [A, B, C, D, E]
    System.out.println(Sets.difference(set1, set2)); //返回set1中不存在于set2的元素集合  >> [A]
    System.out.println(Sets.intersection(set1, set2)); //返回两个集合的交集  >> [B, C]
    
    Set<String> resultSet = Sets.filter(set2, new Predicate<String>() {
        @Override
        public boolean apply(String value) {
            return !"D".equals(value); //过滤掉值为D的元素  >> [B, C, E]
        }
    });
    System.out.println(resultSet);

    3.Maps

    //Maps
    System.out.println("### Maps ###");
    Maps.newHashMap();
    Maps.newLinkedHashMap();
    Maps.newTreeMap();
    Maps.newConcurrentMap();

    4.Collections

    //Collections2
    System.out.println("### Collections2 ###");
    Collection<String> linkedList2 = Collections2.filter(linkedList, new Predicate<String>() {
        @Override
        public boolean apply(String value) {
            return !"B".equals(value); //过滤器:过滤掉值为B的元素  >> [A, C]
        }
    });
    System.out.println(linkedList2);
    
    Collection<String> linkedList3 = Collections2.transform(linkedList, new Function<String, String>() {
        @Override
        public String apply(String value) {
            return value + "_"; //转换器:元素值做特殊处理后返回  >> [A_, B_, C_]
        }
    });
    System.out.println(linkedList3);
  • 相关阅读:
    springboot redis多数据源
    springboot mybatis 多数据源配置
    java jackson 忽略不存在的属性字段 和 按照属性名转json
    java 四舍五入保留两位小数
    supervisord supervisorctl 问题supervisor.sock refused connection
    2
    1
    Python开发【程序】:三级菜单程序
    Python开发【第二章】:补充
    Python开发【第二章】:深浅拷贝剖析
  • 原文地址:https://www.cnblogs.com/skyke/p/6015706.html
Copyright © 2020-2023  润新知