JavaGuava,Apache和Eclipse集合中的Multimap
示例
此多图允许重复的键值对。JDK类似物是HashMap<K,List>,HashMap<K,Set>等。
使用多图的示例
任务:解析“HelloWorld!大家好!HiWorld!”字符串以分隔单词并使用MultiMap打印每个单词的所有索引(例如,Hello=[0,2],World!=[1,5],依此类推)
1.来自Apache的MultiValueMap
String INPUT_TEXT = "Hello World! Hello All! Hi World!";
//将文本解析为单词和索引
List<String> words = Arrays.asList(INPUT_TEXT.split(" "));
//创建多图
MultiMap<String, Integer> multiMap = new MultiValueMap<String, Integer>();
//填充多图
int i = 0;
for(String word: words) {
multiMap.put(word, i);
i++;
}
//打印所有单词
System.out.println(multiMap); //打印{Hi=[4],Hello=[0,2],世界!=[1,5],全部!=[3]}-按随机顺序
//打印所有唯一的单词
System.out.println(multiMap.keySet()); //打印[嗨,您好,世界!,全部!]-随机订购
//打印所有索引
System.out.println("Hello = " + multiMap.get("Hello")); //打印[0,2]
System.out.println("World = " + multiMap.get("World!")); //打印[1,5]
System.out.println("All = " + multiMap.get("All!")); //打印[3]
System.out.println("Hi = " + multiMap.get("Hi")); //打印[4]
System.out.println("Empty = " + multiMap.get("Empty")); //打印空
//打印计数唯一词
System.out.println(multiMap.keySet().size()); //打印42.来自GS/EclipseCollection的HashBiMap
String[] englishWords = {"one", "two", "three","ball","snow"};
String[] russianWords = {"jeden", "dwa", "trzy", "kula", "snieg"};
//创建多集
MutableBiMap<String, String> biMap = new HashBiMap(englishWords.length);
//创建英语-波兰语字典
int i = 0;
for(String englishWord: englishWords) {
biMap.put(englishWord, russianWords[i]);
i++;
}
//打印字数
System.out.println(biMap); //打印{two=dwa,ball=kula,one=jeden,snow=snieg,three=trzy}-按随机顺序
//打印所有唯一的单词
System.out.println(biMap.keySet()); //打印[雪,二,一,三,球]-随机排列
System.out.println(biMap.values()); //打印[dwa,kula,jeden,snieg,trzy]-随机排列
//打印文字翻译
System.out.println("one = " + biMap.get("one")); //打印一个=jeden
System.out.println("two = " + biMap.get("two")); //打印两个=dwa
System.out.println("kula = " + biMap.inverse().get("kula")); //打印库拉=球
System.out.println("snieg = " + biMap.inverse().get("snieg")); //打印snieg=雪
System.out.println("empty = " + biMap.get("empty")); //打印空=空
//打印数词对
System.out.println(biMap.size()); //打印5来自Guava的HashMultiMap
StringINPUT_TEXT="HelloWorld!HelloAll!HiWorld!";
//将文本解析为单词和索引
List<String>words=Arrays.asList(INPUT_TEXT.split(""));
//创建多图
Multimap<String,Integer>multiMap=HashMultimap.create();
//填充多图
inti=0;
for(Stringword:words){
multiMap.put(word,i);
i++;
}
//打印所有单词
System.out.println(multiMap);//打印{Hi=[4],Hello=[0、2],World!=[1、5],All!=[3]}-键和值以随机顺序排列
//打印所有唯一的单词
System.out.println(multiMap.keySet()); //打印[嗨,您好,世界!,全部!]-随机订购
//打印所有索引
System.out.println("Hello="+multiMap.get("Hello")); //打印[0,2]
System.out.println("World="+multiMap.get("World!")); //打印[1,5]
System.out.println("All="+multiMap.get("All!")); //打印[3]
System.out.println("Hi="+multiMap.get("Hi")); //打印[4]
System.out.println("Empty="+multiMap.get("Empty")); //打印[]
//打印所有单词
System.out.println(multiMap.size()); //打印6
//打印计数唯一词
System.out.println(multiMap.keySet().size()); //打印4
否示例:
I.Apache集合:
MultiValueMap
MultiValueMapLinked
MultiValueMapTree
二。GS/Eclipse系列
FastListMultimap
HashBagMultimap
TreeSortedSetMultimap
UnifiedSetMultimap
三,番石榴
HashMultiMap
LinkedHashMultimap
LinkedListMultimap
TreeMultimap
ArrayListMultimap
热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语