如何实现数组的arraylist 我的代码:
ArrayList<Arrays> s = new ArrayList<Arrays>();
int[] A = new int[n];
for(int i=0;i<n;i++)
A[i]=in.nextInt();
s.add(A); //give me an error
int x = s.get(0)[1] // getting the first element of an Array A
答案 0 :(得分:0)
像这样:
List<int[]> list = new ArrayList<int[]>();
当您执行get()
操作时,请记住您将获得整数数组而不是int。
用法:
public static void main(String[] args) {
List<int[]> list = new ArrayList<int[]>();
int[] arr = {1,2,3};
list.add(arr);
System.out.println(list.get(0)[1]);
}
另一种方法是使用:Arrays.asList()
。这将返回一个几乎不可变的 List,其中包含一个数组元素。
您的问题:Arrays
是一个辅助类,它支持对数组数据结构的操作。实际上,Arrays
可以包含任何数组类型的假设是错误的。
答案 1 :(得分:0)
首先了解此代码..您将能够自己解决问题...
private static void arrayListOfString() {
//List of String arrays
List<String[]> list = new ArrayList<String[]>();
String[] arr1 = {"a", "b", "c"};
String[] arr2 = {"1", "2", "3", "4"};
list.add(arr1);
list.add(arr2);
//printing list of String arrays in the ArrayList
for (String[] strArr : list) {
System.out.println(Arrays.toString(strArr));
}
}
答案 2 :(得分:0)
试试这个:
List<int[]> s = new ArrayList<int[]>();
Scanner in = new Scanner(System.in);
System.out.print("Enter limit: ");
int n = in.nextInt();
int[] A = new int[n];
for(int i=0;i<n;i++) {
System.out.print((i+1)+" element: ");
A[i]=in.nextInt();
}
s.add(A);
//s.get(0)[0]; first element
//s.get(0)[1]; second element
//s.get(0)[2]; third element
//so on
for (int i=0;i<n;i++)
System.out.print(s.get(0)[i]+" ");