import com.google.common.collect.BiMap;
import com.google.common.collect.EnumHashBiMap;
//
public class GuavaEnumHashBiMapTest {
enum ENGLISH_WORD {
ONE, TWO, THREE, BALL, SNOW
}
// Task: create collection to translate Polish-English words in two ways
public static void main(String[] args) {
ENGLISH_WORD[] englishWords = ENGLISH_WORD.values();
String[] russianWords = {"jeden", "dwa", "trzy", "kula", "snieg"};
// Create Multiset
BiMap<ENGLISH_WORD, String> biMap = EnumHashBiMap.create(ENGLISH_WORD.class);
// Create English-Polish dictionary
int i = 0;
for(ENGLISH_WORD englishWord: englishWords) {
biMap.put(englishWord, russianWords[i]);
i++;
}
// Print count words
System.out.println(biMap); // print {ONE=jeden, TWO=dwa, THREE=trzy, BALL=kula, SNOW=snieg}
// Print all unique words
System.out.println(biMap.keySet()); // print [ONE, TWO, THREE, BALL, SNOW]
System.out.println(biMap.values()); // print [jeden, dwa, trzy, kula, snieg]
// Print translate by words
System.out.println("one = " + biMap.get(ENGLISH_WORD.ONE)); // print one = jeden
System.out.println("two = " + biMap.get(ENGLISH_WORD.TWO)); // print two = dwa
System.out.println("kula = " + biMap.inverse().get("kula")); // print kula = BALL
System.out.println("snieg = " + biMap.inverse().get("snieg")); // print snieg = SNOW
System.out.println("empty = " + biMap.get("empty")); // print empty = null
// Print count word's pair
System.out.println(biMap.size()); //print 5
}
}