Guava - Useful Classes
- Guava - Optional Class
- Guava - Preconditions Class
- Guava - Ordering Class
- Guava - Objects Class
- Guava - Range Class
- Guava - Throwables Class
- Guava - LoadingCache Interface
Guava - Collection Utilities
- Guava - Collections Utilities
- Guava - MultiSet Interface
- Guava - MultiMap Interface
- Guava - BiMap Interface
- Guava - Table Interface
Guava - String Utilities
- Guava - String Utilities
- Guava - Joiner class
- Guava - Splitter
- Guava - CharMatcher
- Guava - CaseFormat
Guava - Primitive Utilities
- Guava - Primitive Utilities
- Guava - Bytes
- Guava - Shorts
- Guava - Ints
- Guava - Longs
- Guava - Floats
- Guava - Doubles
- Guava - Chars
- Guava - Booleans
Guava - Math Utilities
Guava - Useful Resources
Guava - Collection Utilities
Guava introduces many advanced collections based on developers' experience in application development works. Given below is a list of useful collections −
Useful Collections
| Sr.No | Collection name & Description |
|---|---|
| 1 |
Multiset
An extension to Set interface to allow duplicate elements. |
| 2 |
Multimap
An extension to Map interface so that its keys can be mapped to multiple values at a time. |
| 3 |
BiMap
An extension to Map interface to support inverse operations. |
| 4 |
Table
Table represents a special map where two keys can be specified in combined fashion to refer to a single value. |
Example - Counting elements of a Multiset
GuavaTester.java
package com.tutorialspoint;
import com.google.common.collect.HashMultiset;
import com.google.common.collect.Multiset;
public class GuavaTester {
public static void main(String args[]) {
//create a multiset collection
Multiset<String> multiset = HashMultiset.create();
multiset.add("a");
multiset.add("b");
multiset.add("c");
multiset.add("d");
multiset.add("a");
multiset.add("b");
multiset.add("c");
multiset.add("b");
multiset.add("b");
multiset.add("b");
//print the occurrence of an element
System.out.println("Occurrence of 'b' : "+multiset.count("b"));
//print the total size of the multiset
System.out.println("Total Size : "+multiset.size());
}
}
Output
Run the GuavaTester and verify the output.
Occurence of 'b' : 5 Total Size : 10
Example - Printing maps of a Multimap
GuavaTester.java
package com.tutorialspoint;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Multimap;
public class GuavaTester {
public static void main(String args[]) {
GuavaTester tester = new GuavaTester();
Multimap<String,String> multimap = tester.getMultimap();
List<String> lowerList = (List<String>)multimap.get("lower");
System.out.println("Initial lower case list");
System.out.println(lowerList.toString());
List<String> upperList = (List<String>)multimap.get("upper");
System.out.println("Initial upper case list");
System.out.println(upperList.toString());
}
private Multimap<String,String> getMultimap() {
//Map<String, List<String>>
// lower -> a, b, c, d, e
// upper -> A, B, C, D
Multimap<String,String> multimap = ArrayListMultimap.create();
multimap.put("lower", "a");
multimap.put("lower", "b");
multimap.put("lower", "c");
multimap.put("lower", "d");
multimap.put("lower", "e");
multimap.put("upper", "A");
multimap.put("upper", "B");
multimap.put("upper", "C");
multimap.put("upper", "D");
return multimap;
}
}
Output
Run the GuavaTester and verify the output −
Initial lower case list [a, b, c, d, e] Initial upper case list [A, B, C, D]
Example - Getting Key based on Value from a BiMap
GuavaTester.java
package com.tutorialspoint;
import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
public class GuavaTester {
public static void main(String args[]) {
BiMap<Integer, String> empIDNameMap = HashBiMap.create();
empIDNameMap.put(Integer.valueOf(101), "Mahesh");
empIDNameMap.put(Integer.valueOf(102), "Sohan");
empIDNameMap.put(Integer.valueOf(103), "Ramesh");
//Emp Id of Employee "Mahesh"
System.out.println(empIDNameMap.inverse().get("Mahesh"));
}
}
Output
Run the GuavaTester and verify the output −
101
Advertisements