一、首先,給出使用SetMultimap的一個小例子:
import com.google.common.collect.HashMultimap;
import com.google.common.collect.SetMultimap;
/**
* @Description: test using SetMultimap
* @Author: 詩人的情人
* @Date: 12:21 下午 2019/10/16
*/
public class SetMultiMapTest {
public static void main(String[] args) {
SetMultimap<String, Integer> setMultimap = HashMultimap.create();
setMultimap.put("test", 1);
setMultimap.put("test", 1);
setMultimap.put("test1", 1);
setMultimap.put("test", 2);
setMultimap.put("test", 3);
System.out.println(setMultimap.get("test"));
System.out.println(setMultimap.get("test1"));
System.out.println("---遍歷---");
System.out.println("setMultimap size is: " + setMultimap.size());
for (String key : setMultimap.keys()) {
System.out.print("key is: " + key + ", value is: ");
for (Integer value : setMultimap.get(key)) {
System.out.print(value + " ");
}
System.out.println();
}
}
}
輸出爲:
[1, 2, 3]
[1]
---遍歷---
setMultimap size is: 4
key is: test, value is: 1 2 3
key is: test, value is: 1 2 3
key is: test, value is: 1 2 3
key is: test1, value is: 1
Process finished with exit code 0
二、分析
1、導入庫
import com.google.common.collect.HashMultimap;
import com.google.common.collect.SetMultimap;
這個需要在pom.xml中添加:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>20.0</version>
</dependency>
2、創建一個SetMultimap
SetMultimap<String, Integer> setMultimap = HashMultimap.create();
3、寫入
寫入key - value 鍵值對,key爲test時,value分別爲:1 1 2 3;
key爲test1時,value爲:1
4、輸出
輸出key爲test和key爲test1時對應的value
System.out.println(setMultimap.get("test"));
System.out.println(setMultimap.get("test1"));
對應結果:
[1, 2, 3]
[1]
可以看出,同一個key 對應的value是不能重複的。
不同的key,可以使用相同的value。
三、
只記錄一下使用方法,時間有限,先不具體分析了。