![](/img/trans.png)
[英]How to get String[] from ArrayList<String[]>, I want to actually get String at index 0 from ArrayList<String[]>?
[英]how dow i get a String[][] to an Arraylist<String[][]>
我有一個二維數組,我想將其轉換為Arraylist。 我應該如何組織這樣的清單?
例如當我有數組
String[][] things={{"dog", "cat", "wolf"},
{"carrot", "apple", "banana"}};
我想要清單
List<what is proper type?> Galg = ...
這將使我能夠將行索引為x
並從索引為y
行中獲取項目?
目前,您可以
Galg.add(things);
但是,也許您需要一個ArrayList<String[]>
代替? 在這種情況下,您可以使用Arrays.asList
:
ArrayList<String[]> Galg = new ArrayList<String[]>();
Galg.addAll(Arrays.asList(things));
看起來您正在尋找ArrayList<ArrayList<String>>
或更好地允許在接口而不是實際類型上進行編程,並使我們的引用更通用(這也意味着靈活,因為它可以處理許多列表,而不僅是ArrayList
)
List<List<String>> list = new ArrayList<List<String>>();
或者由於Java 7,我們可以使用菱形運算符將其縮短,然后推斷出通用類型
List<List<String>> list = new ArrayList<>();
您可以通過如下代碼創建它
String[][] things={{"dog", "cat", "wolf"},{ "carrot", "apple", "banana"}};
List<List<String>> list = new ArrayList<>();
for (String[] row : things){
list.add(new ArrayList<>(Arrays.asList(row)));
}
並像這樣使用
System.out.println(list.get(1).get(2));//get row indexed as 1,
//and from it item indexed as 2
嘗試將列表視為一維數組。 實際上,所有數組都是一維的,因為二維數組只是一維數組,而元素是另一維數組(您要嵌套一維數組)。
所以你的數組
A{
[0] -> B{
[0] -> "dog",
[1] -> "cat",
[2] -> "wolf"
}
[1] -> C{
[0] -> "carrot",
[1] -> "apple",
[2] -> "banana"
}
}
因此,我們有一個一維數組A
,其中包含其他一維數組B
和C
列表也可以。 您可以像嵌套數組一樣嵌套它們。
ListA{
[0] -> ListB{
[0] -> "dog",
[1] -> "cat",
[2] -> "wolf"
}
[1] -> ListC{
[0] -> "carrot",
[1] -> "apple",
[2] -> "banana"
}
}
這樣我們就可以得到List <of List >> of String <>> >>寫為List<List<String>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.