guava学校,集合专题

Posted vhyc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了guava学校,集合专题相关的知识,希望对你有一定的参考价值。

lists

//JDK
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");

//Guava
List<String> list = Lists.newArrayList("a", "b", "c", "d");

Multiset(统计次数的set

Multiset<String> multiset = HashMultiset.create();
// 统计每次单词出现的次数
for (String word : words) {
multiset.add(word);
}
// 输出单词的输出次数
for (String word : multiset.elementSet()) {
multiset.count(word);
}

Multimap(多个value的map

Multimap<Integer, People> multimap = ArrayListMultimap.create();
// 统计同一年纪的 People 对象
for (People people : peopleList) {
multimap.put(people.getAge(), people);
}

// 输出统计结果
for (Integer key : multimap.keySet()) {
List<People> peoples = Lists.newArrayList(multimap.get(key));
System.out.println(peoples);
}

//JDK
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");

//Guava
List<String> list = Lists.newArrayList("a", "b", "c", "d");

Multiset(统计次数的set

Multiset<String> multiset = HashMultiset.create();
// 统计每次单词出现的次数
for (String word : words) {
multiset.add(word);
}
// 输出单词的输出次数
for (String word : multiset.elementSet()) {
multiset.count(word);
}

Multimap(多个value的map

Multimap<Integer, People> multimap = ArrayListMultimap.create();
// 统计同一年纪的 People 对象
for (People people : peopleList) {
multimap.put(people.getAge(), people);
}

// 输出统计结果
for (Integer key : multimap.keySet()) {
List<People> peoples = Lists.newArrayList(multimap.get(key));
System.out.println(peoples);
}

Bimap(双向map

BiMap<Integer, String> empIDNameMap = HashBiMap.create();

empIDNameMap.put(new Integer(101), "Mahesh");
empIDNameMap.put(new Integer(102), "Sohan");
empIDNameMap.put(new Integer(103), "Ramesh");

//Emp Id of Employee "Mahesh"
System.out.println(empIDNameMap.inverse().get("Mahesh"));


Table(像表一样有(a,b)坐标,代替Map<key,Map<key,world>>

技术图片

 

以上是关于guava学校,集合专题的主要内容,如果未能解决你的问题,请参考以下文章

Java技术专题「提升篇」Guava Collections实战指南—挑战Guava不一般的集合框架

java代码之美---guava之Immutable(不可变)集合

guava学习:guava集合工具-table接口

集合框架学习之Guava Collection

Java技术指南「并发编程专题」Guava RateLimiter限流器入门到精通(源码分析)

Java技术指南「并发编程专题」针对于Guava RateLimiter限流器的入门到精通(含实