sol*_*dil 81
图书馆存在要做到这一点,但最简单的普通的Java方法是创建一个Map
的List
是这样的:
Map<Object,ArrayList<Object>> multiMap = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)
jfa*_*zio 22
例如:
Map<Object,Pair<Integer,String>> multiMap = new HashMap<Object,Pair<Integer,String>>();
Run Code Online (Sandbox Code Playgroud)
其中Pair
是参数类
public class Pair<A, B> {
A first = null;
B second = null;
Pair(A first, B second) {
this.first = first;
this.second = second;
}
public A getFirst() {
return first;
}
public void setFirst(A first) {
this.first = first;
}
public B getSecond() {
return second;
}
public void setSecond(B second) {
this.second = second;
}
}
Run Code Online (Sandbox Code Playgroud)
Neo*_*Neo 11
这是我在类似问题的答案中找到的
Map<String, List<String>> hm = new HashMap<String, List<String>>();
List<String> values = new ArrayList<String>();
values.add("Value 1");
values.add("Value 2");
hm.put("Key1", values);
// to get the arraylist
System.out.println(hm.get("key1"));
Run Code Online (Sandbox Code Playgroud)
结果:[值1,值2]
你有这样的东西吗?
HashMap<String, ArrayList<String>>
Run Code Online (Sandbox Code Playgroud)
如果是这样,您可以遍历您的ArrayList并使用arrayList.get(i)获取您喜欢的项目.
小智 7
我在随机搜索上找到了博客,我认为这将有助于做到这一点:http : //tomjefferys.blogspot.com.tr/2011/09/multimaps-google-guava.html
public class MutliMapTest {
public static void main(String... args) {
Multimap<String, String> myMultimap = ArrayListMultimap.create();
// Adding some key/value
myMultimap.put("Fruits", "Bannana");
myMultimap.put("Fruits", "Apple");
myMultimap.put("Fruits", "Pear");
myMultimap.put("Vegetables", "Carrot");
// Getting the size
int size = myMultimap.size();
System.out.println(size); // 4
// Getting values
Collection<String> fruits = myMultimap.get("Fruits");
System.out.println(fruits); // [Bannana, Apple, Pear]
Collection<string> vegetables = myMultimap.get("Vegetables");
System.out.println(vegetables); // [Carrot]
// Iterating over entire 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!)
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
194920 次 |
最近记录: |