回答
有幾個選項:
編寫自定義IntPair類
class IntPair {
// Ideally, name the class after whatever you're actually using
// the int pairs *for.*
final int x;
final int y;
IntPair(int x, int y) {this.x=x;this.y=y;}
// depending on your use case, equals? hashCode? More methods?
}
,然後創建一個IntPair[]
或List<IntPair>
。
可替換地,創建一個二維陣列new int[n][2]
,和治療的行作爲對。
Java沒有內置Pair
類的幾個原因,但最引人注目的是,它很容易寫出具有相同功能的類,但多更多的啓發,有幫助的名字班級,領域和方法。
如果我們知道更多關於您實際使用的內容,我們可能會提供更詳細的建議 - 對於我們所知的一切,Map
可能適用於此。
class Pair<T> {
T p1, p2;
Pair(T p1, T p2) {
this.p1 = p1;
this.p2 = p2;
}
Pair<Integer> pair = new Pair<Integer>(1,2);
int i1 = pair.p1;
int i2 = pair.p2;
你也可以把干將,制定者,等於,哈希碼等
我會做'p1',''p2'私人final'也覆蓋'的equals()'和' hashCode()' – amit 2012-04-19 18:34:49
@amit:好點。我在代碼後添加了一條評論。 – 2012-04-19 18:40:39
如果你可以用低一級的結構和生活迫切需要的「設置對」「文字」形式緊湊的形式 - 這發生在我身上的單元測試,當我需要一組固定的 - 你可以簡單地使用數組的數組:
int[][] squares = {
{ 1, 1 },
{ 2, 4 },
{ 3, 9 }
};
但請記住,沒有語義這種類型 - 這一切都取決於正確使用,編譯器不會給你一個警告,如果你鍵入squares[0][1]
你真時想要squares[1][0]
。
如果你需要避免重複再一個HashSet將是一個不錯的選擇,但它不是那麼一個ArrayList是可行的。
Class IntPair(){
int i;
int j;
}
HashSet<IntPair> set = new HashSet<IntPair>();
或
ArrayList<IntPair> list = new ArrayList<IntPair>();
如果你想避免重複,你還需要重寫equals和hashCode。 http://stackoverflow.com/a/7520464/3215004 – gmatht 2015-09-16 06:37:27
- 1. JAVA:存儲數字?
- 2. 在Java中存儲對象數組
- 3. 在java中存儲大數字
- 4. 從Java中存儲MySQL字節數組
- 5. 在Java中,如何在數組中存儲大數字?
- 6. Java存儲對象
- 7. 在java對象中存儲版本號
- 8. 在Java中存儲Javascript對象
- 9. 在String對象中存儲/ n。 Java
- 10. 其中靜態對象存儲在Java
- 11. 如何在HttpSession中存儲Java對象?
- 12. 在java中的Enum對象中存儲一個字符串
- 13. 檢查對象等於存儲在java對象中的數據
- 14. Java:將對象存儲在對象數組中
- 15. 將java對象存儲在HTML5本地存儲中
- 16. 存儲字符串值在Java中
- 17. Java:在Trie中存儲子字符串
- 18. 將數據存儲在數組中(Java)
- 19. java在字符數組中存儲字符串
- 20. 如何將字符串對象存儲在Java ArrayList中
- 21. 如何在Java中存儲唯一的字符串對?
- 22. Java對象如何存儲在字段中?
- 23. 在對象數組中存儲對象
- 24. 存儲在Java中的對象的條目數在哪裏
- 25. Java如何將音頻數據存儲在字節數組中。
- 26. Java中的數據存儲
- 27. Java - 對象不能存儲數據
- 28. 存儲在Java
- 29. 在java中存儲3位數據Vector
- 30. 在HashMap中存儲數據Java
您可以使用所有上述情況,但沒有從你所說的話猜測的方式。 – 2012-04-19 18:31:40
@Erwald:使用'[desc](鏈接)'發表評論中的鏈接 – amit 2012-04-19 18:32:19
@Erwald它的一個解決方案,但它可能不是什麼OP最好的。 – 2012-04-19 18:32:40