我想創建一個二維數組,我想從數據庫中存儲記錄。因此,可以說第一個是int
類型,第二個是String
(這裏我只描述了一條記錄,所以基本上是db列的類型)。我該怎麼做?數組是正確的數據結構嗎?不同類型的二維數組
回答
數組只能包含一種類型。如果這種類型碰巧是Object
,那麼它可以存儲Object
及其任何子類型,但這聽起來並不像你想要在這裏完成的。
聽起來像你所描述的是一個2D數組來存儲數據庫信息,數組中的每個元素都是其中一行中的一列。這不是記錄數組,它是一個列數據數組。
相反,只需存儲一維記錄數組,其中數組的每個元素都是對整個DB行的引用。
我不確定我在追隨,但您可能正在尋找Map<Integer,String>
。或Map<Integer,List<String>>
。 [對List一看,HashMap]
Map
允許值[String
或List
]鍵[Integer
]的關聯。
Map
還允許快速查找密鑰及其附加值。
(*)你應該使用Map<Integer,List<String>>
如果要附加更多的則每Integer
一個String
,或者您可以使用Apache公地MultiMap
Map
@yogeshprajapata儘管你可以使用Guava或Apache的'MultiMap'中的一個來實現這個功能。 – Jeffrey 2012-04-08 14:04:58
@Jeffrey,但你在這裏沒有提到你正在談論Gauvas的地圖。 – 2012-04-08 14:10:00
您可以使用
HashMap<Integer, ArrayList<String>>
你可以這樣做東西在這個幫助下
Object[][] o = new Object[10][10];
o[0][0] = 1;
o[0][1] ="hello";
System.out.println(o[0][0]);
System.out.println(o[0][1]);
嘿Yogesh,我正在試圖做o [0] = 0的字符串和o [0] [1] =一個字符串相同。這對我不起作用,如果這對我有用? – Tomer 2016-12-03 21:51:07
請發佈您的代碼。 – 2016-12-05 06:22:00
如果你只是想有一列字符串dat和int數據的另一列,這是你可以考慮做什麼:
聲明一個二維字符串數組
String[][] words = new String[][];
你的第一列可以包含所有的字符串數據。第二列可以具有數字數據但是以字符串的形式。您可能需要使用Integer.toString()和的Integer.parseInt()方法來做到這一點
words[index][index] = Integer.toString(Integer.parseInt(args));
我不知道究竟你希望達到什麼樣的,但你可能要考慮修改這個片段,以滿足您的需求
- 1. Ruby不同類型的二維數組
- 2. 二維數組與不同類型的元素和使用類
- 3. 具有兩種不同數據類型的二維數組?
- 4. 訪問不同類型的二維動態數組
- 5. 我可以有不同類型的二維數組嗎?
- 6. 定義不同類型的二維動態數組
- 7. typescript不同類型的多維數組
- 8. Python:不同類型的多維數組
- 9. 不同類型的二維列表
- 10. 演員類型的二維數組
- 11. 作爲二維數組返回類型
- 12. C#表格/二維數組類型
- 13. 不同長度的二維數組(Java)
- 14. 在C#中使用兩種不同數據類型的二維數組
- 15. 具有不同數據類型列的二維陣列
- 16. 對於二維數組循環給不正確類型的F#
- 17. 如何將二維數組存儲在不同類型的堆棧中?
- 18. 不同類型的數組
- 19. 不同類型的數組
- 20. 類型不匹配錯誤,二維數組聲明
- 21. 使用二維數組與不同大小的第二行C++
- 22. 轉換多維數組的元素,以不同類型的
- 23. 具有不同類型的2維數組的聲明
- 24. 二維不同風味類型數組之間的區別?這兩種類型的優點
- 25. 二維數組
- 26. 二維數組
- 27. 二維數組
- 28. 二維數組
- 29. 二維數組
- 30. 同時比較二維數組的層
我很抱歉,但我不確定你的意思是:「數組中的每個元素都是對整個DB行的引用」。整個DB行由兩列不同類型的字符串和整數組成。我如何將它存儲在一個數組中? – lunar 2012-04-08 14:24:05
你用什麼來訪問數據庫?必須有一個對象表示表中的一行。然後,該行必須具有可調用的方法來訪問該行中的列數據。不管對象包裝數據庫行是你需要存儲在你的數組中。我的意思是,這基本上是一個數據庫表 - 一個行數組。 – jefflunt 2012-04-08 14:26:16