Q
需要的Java
4
A
回答
8
您所描述的Map
和HashMap
的行爲是其他評論者注意到的預期行爲。你想要的是一個多圖。你可以自己推出(不要這樣做 - 其他評論者建議將地圖映射到列表中,但這很快就會變得很麻煩。如果你真的想推出自己的產品,可以使用列表/設置值推出自己的通用多圖,並隱藏複雜性。 )或使用Guava的multimap。例如:
import com.google.common.collect.HashMultimap;
import com.google.common.collect.SetMultimap;
public static void main(String[] args)
{
final SetMultimap<Integer, Integer> foo = HashMultimap.create();
foo.put(1,35);
foo.put( 1,30);
foo.put( 1,20);
foo.put( 2,10);
foo.put( 3,40);
foo.put( 3,25);
foo.put( 3,15);
System.out.println(foo);
}
輸出:
{1 = [35,20,30],2 = [10],3 = [25,40, 15]}
如果你想訪問這些值,有幾種方法取決於你想要做什麼。只需撥打get(Integer key)
即可返回值的集合。
此外,檢查出this answer,其中引用了許多相關的善良在番石榴。
6
4
您可以使用Map<Long, List<Long>>
(或您擁有的任何類型)來解決此問題。
2
A Map
只有一個鍵值。您可以使用Guava/Google Collections的Multimap
接口爲密鑰存儲多個值。
0
或者創建一個對< F,S>類,並把它們放在一個列表
列表<對<整數,整數>>
相關問題
- 1. 需要在Java
- 2. 需要在Java
- 3. 需要JAVA
- 4. 需要使用Java
- 5. 不需要在Java
- 6. 需要Java幫助
- 7. ,我需要用java
- 8. 需要在Java中
- 9. 需要Java幫助
- 10. 需要在Java中
- 11. 我需要用java
- 12. 不需要在Java
- 13. 我需要用java
- 14. 需要使用Java
- 15. 需要幫助JAVA
- 16. 是否需要hadoop的java?
- 17. 需要幫助的Java
- 18. Simbad的需要Java 3D
- 19. 需要Java中的Transaction API
- 20. Java需要的輸出
- 21. 的Java Swing需要幫助
- 22. 需要幫助的在Java
- 23. Java泛型,說明需要
- 24. Java - 需要幫助java.lang.ArrayIndexOutOfBoundsException
- 25. 需要幫助Java中
- 26. Grails 2.4.3需要Java 1.8.0嗎?
- 27. 需要通過引用Java
- 28. 需要String Java幫助
- 29. 需要Java websocket客戶端
- 30. 在LuaJ中需要Java類