主要内容包括:
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 void main(String[] args) {
testBuildCollection();
testFluentIterable();
testDifferenceSet();
}
private static void testBuildCollection() {
Set userSet = Sets.newConcurrentHashSet();
HashSet
}
private static void testFluentIterable(){
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
public User apply(String s) {
User user = new User();
user.setId(new Random().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
public boolean 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);
}
}
}