如果该数组在Arraylist内,则访问该数组中的元素。

时间:2018-11-06 22:37:26

标签: java arrays

如果我想访问数组中的元素,则可以使用以下表达式:array [index]。如果我想访问数组内部数组中的元素,则可以使用以下表达式:array [index] [index]。我的问题是,如果该数组在arraylist内,该如何访问该数组中的元素?我必须使用.get方法访问arraylist中的元素。进行诸如arraylist.get(index)之类的操作只会返回该数组,而我无法访问该数组内的任何元素。请帮忙!

1 个答案:

答案 0 :(得分:1)

tl; dr

结合使用括号(调用方法)和方括号(访问数组)。

myList.get(…)[…]

详细信息

ArrayList定义为包含数组。在这种情况下,将包含String个对象的数组。

List < String[] > list = new ArrayList <>( 2 );

人口。

String[] a1 = { "alpha" , "beta" , "gamma" };
String[] a2 = { "Bill Bixby" , "Lana Lang" , "Wendy Melvoin" , "Lisa Coleman" };

list.add( a1 );
list.add( a2 );

通过调用Listget中检索数组。请注意,get和数组都使用List::get使用令人讨厌的从零开始的计数。因此,第二个元素是1

String ll = list.get( 1 )[ 1 ]; // Zero-based counting on both the list and the array.

System.out.println( ll );
  

Lana Lang

该代码的较长版本是这样。

String[] array = list.get( 1 ) ;  // Return the 2nd element’s array.
String ll = array[ 1 ];           // Access the 2nd element in the array, a String object.

提示:一般来说,最好只使用集合,而不要使用数组。数组没什么问题,但是它们很简单。集合还提供许多其他功能。尽管阵列速度更快且使用的内存更少,但对于大多数面向业务的应用程序场景而言,这都不是重要考虑因素。

提示:您可能会发现Java 9及更高版本中添加的新List.of方法很方便。如果您使用数组的简单文字语法,List.ofList.copyOf(在Java 10中)和Map.of可能会成功。