我是arraylist概念的新手.我做了一个简短的程序如下:
ArrayList<int[]> arl=new ArrayList<int[]>();
int a1[]={1,2,3};
arl.add(0,a1);
System.out.println("Arraylist contains:"+arl.get(0));
Run Code Online (Sandbox Code Playgroud)
它给出了输出: Arraylist contains:[I@3e25a5
现在我的问题是:
Rau*_*ene 69
首先,对于初始化容器,你不能使用原始类型(即int
;你可以使用,int[]
但你只需要一个整数数组,我认为没有用).相反,您应该使用Integer
,如下所示:
ArrayList<Integer> arl = new ArrayList<Integer>();
Run Code Online (Sandbox Code Playgroud)
要添加元素,只需使用以下add
函数:
arl.add(1);
arl.add(22);
arl.add(-2);
Run Code Online (Sandbox Code Playgroud)
最后,但并非最不重要的是,对于打印,ArrayList
您可以使用以下内置功能toString()
:
System.out.println("Arraylist contains: " + arl.toString());
Run Code Online (Sandbox Code Playgroud)
如果要访问i元素,其中i是从0到array-1长度的索引,您可以执行以下操作:
int i = 0; // Index 0 is of the first element
System.out.println("The first element is: " + arl.get(i));
Run Code Online (Sandbox Code Playgroud)
我建议先阅读Java Containers,然后再开始使用它们.
Kar*_*omo 15
比这更简单.
List<Integer> arrayIntegers = new ArrayList<>(Arrays.asList(1,2,3));
arrayIntegers.get(1);
Run Code Online (Sandbox Code Playgroud)
在第一行中创建对象,在构造函数中将数组参数传递给List.
在第二行中,您拥有List类的所有方法:.get(...)
设置:
List<int[]> intArrays=new ArrayList<>();
int anExample[]={1,2,3};
intArrays.add(anExample);
Run Code Online (Sandbox Code Playgroud)
要按索引检索ArrayList 中的单个 int[] 数组:
int[] anIntArray = intArrays.get(0); //'0' is the index
//iterate the retrieved array an print the individual elements
for (int aNumber : anIntArray ) {
System.out.println("Arraylist contains:" + aNumber );
}
Run Code Online (Sandbox Code Playgroud)
要检索ArrayList 中的所有 int[] 数组:
//iterate the ArrayList, get and print the elements of each int[] array
for(int[] anIntArray:intArrays) {
//iterate the retrieved array an print the individual elements
for (int aNumber : anIntArray) {
System.out.println("Arraylist contains:" + aNumber);
}
}
Run Code Online (Sandbox Code Playgroud)
可以基于此逻辑执行输出格式化。祝你好运!!
在java中,数组是一个对象.因此,对arl.get(0)的调用返回一个原始int []对象,该对象在您对System.out的调用中显示为ascii.
因此,第一个问题的答案就是
System.out.println("Arraylist contains:"+Arrays.toString( arl.get( 0 ) ) );
Run Code Online (Sandbox Code Playgroud)
如果要查找特定元素,则必须引用返回的int []对象.第二个问题的答案就像是
int[] contentFromList = arl.get(0);
for (int i = 0; i < contentFromList.length; i++) {
int j = contentFromList[i];
System.out.println("Value at index - "+i+" is :"+j);
}
Run Code Online (Sandbox Code Playgroud)