索引ArrayList中的原始数组-Java

时间:2018-10-13 00:33:33

标签: java arrays arraylist collections

我正在尝试访问ArrayList内的数组内的元素。例如,假设:

ArrayList list = new ArrayList();

int[] x = new int[2];
x[0] = 2;
x[1] = 3;

list.add(x);

因此,稍后再说我想打印x[1],我就尝试这样做:

System.out.println(list.get(0)[1]); 

但这给了我:Solution.java:47:错误:类型不兼容:对象无法转换为int []

我试图将数组存储在另一个数组中并访问新数组,但这给出了相同的错误消息。

我对Java相对较新,并且从JavaScript迁移到了JavaScript,变量几乎不严格。我对收藏不是很熟悉,我在这里找到了这个答案:

Array inside arraylist access

但是如您所见,此解决方案不适用于我。如果有任何事情我被忽视或忽视-我将不胜感激任何建议。谢谢。

EDIT :这个问题不是天气问题,还是我应该使用原始数据类型-尽管我会确保将来再进行检查-正在使用原始数据类型,问题是如何访问它们。

2 个答案:

答案 0 :(得分:2)

您需要声明ArrayList的类型,在这种情况下为int[]。如果您不执行此操作,则此ArrayList将假定它容纳Object,因此会出现错误。看起来像这样:

ArrayList<int[]> list = new ArrayList<int[]>();

答案 1 :(得分:1)

ArrayList的get()方法仅需要索引。因此,只需使用:

System.out.println(list.get(0));
System.out.println(list.get(1));

等希望这可以帮助。

  /**
 * Returns the element at the specified position in this list.
 *
 * @param  index index of the element to return
 * @return the element at the specified position in this list
 * @throws IndexOutOfBoundsException {@inheritDoc}
 */
public E get(int index) {
    rangeCheck(index);

    return elementData(index);
}