有时候我们需要这样的数据类型Map
Multimap的实现
Multimap提供了丰富的实现,所以你可以用它来替代程序里的Map
| 实现 | Key实现 | Value实现 |
| ArrayListMultimap | HashMap | ArrayList |
| HashMultimap | HashMap | HashSet |
| LinkedListMultimap | LinkedHashMap | LinkedList |
| LinkedHashMultimap | LinkedHashMap | LinkedHashSet |
| TreeMultimap | TreeMap | TreeSet |
| ImmutableListMultimap | ImmutableMap | ImmutableList |
| ImmutableSetMultimap | ImmutableMap | ImmutableSet |
我们通过一个示例来了解Multimap的使用方法:
public class MutliMapTest {
public static void main(String... args) {
Multimap myMultimap = ArrayListMultimap.create();
// 添加键值对 myMultimap.put("Fruits", "Bannana"); //给Fruits元素添加另一个元素 myMultimap.put("Fruits", "Apple");
myMultimap.put("Fruits", "Pear");
myMultimap.put("Vegetables", "Carrot");
// 获得multimap的size int size = myMultimap.size();
System.out.println(size); // 4
// 获得Fruits对应的所有的值 Collection fruits = myMultimap.get("Fruits");
System.out.println(fruits); // [Bannana, Apple, Pear]
Collection vegetables = myMultimap.get("Vegetables");
System.out.println(vegetables); // [Carrot]
//遍历Mutlimap for(String value : myMultimap.values()) {
System.out.println(value);
}
// Removing a single value myMultimap.remove("Fruits","Pear");
System.out.println(myMultimap.get("Fruits")); // [Bannana, Pear]
// Remove all values for a key myMultimap.removeAll("Fruits");
System.out.println(myMultimap.get("Fruits")); // [] (Empty Collection!) } }
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4684/viewspace-2805661/ ,如需转载,请注明出处,否则将追究法律责任。