import com.google.common.collect.BiMap; import com.google.common.collect.EnumBiMap; // public class GuavaEnumBiMap { enum ENGLISH_WORD { ONE, TWO, THREE, BALL, SNOW } enum POLISH_WORD { JEDEN, DWA, TRZY, KULA, SNIEG } // Task: create collection to translate Polish-English words in two ways public static void main(String[] args) { ENGLISH_WORD[] englishWords = ENGLISH_WORD.values(); POLISH_WORD[] polishWords = POLISH_WORD.values(); // Create Multiset BiMap<ENGLISH_WORD, POLISH_WORD> biMap = EnumBiMap.create(ENGLISH_WORD.class, POLISH_WORD.class); // Create English-Polish dictionary int i = 0; for(ENGLISH_WORD englishWord: englishWords) { biMap.put(englishWord, polishWords[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(POLISH_WORD.KULA)); // print kula = BALL System.out.println("snieg = " + biMap.inverse().get(POLISH_WORD.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 } }