Guava使用笔记系列之集合工具的高…

来源:互联网 发布:营口港数据 编辑:程序博客网 时间:2024/06/05 09:55
主要内容包括:
package com.qunar.google.guava.collections;

import com.google.common.base.Function;
import com.google.common.base.Predicate;
import com.google.common.base.Strings;
import com.google.common.collect.FluentIterable;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.qunar.google.guava.User;

import java.util.*;

public class CollectionBuilder {
    public static voidmain(String[] args) {
       testBuildCollection();
       testFluentIterable();
       testDifferenceSet();

    }

    private static voidtestBuildCollection() {
       Set userSet = Sets.newConcurrentHashSet();
       HashSetobjects =Sets.newHashSetWithExpectedSize(100);
    }

    private static voidtestFluentIterable(){
       ArrayList stringArrayList =Lists.newArrayList("1", "2", "3", "4","1","1","2");
       int frequency =Iterables.frequency(stringArrayList, "1");
       System.out.println(frequency);


       List userList = Lists.transform(stringArrayList,new Function() {
          @Override
           publicUser apply(String s) {
              User user = new User();
              user.setId(newRandom().nextInt(30)+"");
              user.setAddress(s);
             user.setName(Strings.repeat(s,new Random().nextInt(5)+1));
              return user;
           }
       });

       Iterable idGreaterThanTen =Iterables.filter(userList, new Predicate() {
          @Override
           publicboolean apply(User user) {
              return user.getId().length()> 10;
           }
       });
       for (User user : idGreaterThanTen) {
          System.out.println("id="+user.getId()+"name"+user.getName());
       }


    }

    private static void testDifferenceSet(){
       HashSet firstStringSet = Sets.newHashSet("11","21", "31", "41", "5");
       HashSet secondString = Sets.newHashSet("31","41", "1");

       Sets.SetView difference =Sets.difference(firstStringSet, secondString);
       for (String s : difference) {
          System.out.println(s);
       }

       ArrayList list =Lists.newArrayList(difference);
       for (String s : list) {
          System.out.println(s);
       }

       Sets.SetView intersection =Sets.intersection(firstStringSet, secondString);
       for (String s : intersection) {
          System.out.println(s);
       }

    }


}

0 0
原创粉丝点击