java中int数组的ArrayList
我不熟悉arraylist的概念。我做了一个简短的节目如下:java中int数组的ArrayList,java,arraylist,Java,Arraylist,我不熟悉arraylist的概念。我做了一个简短的节目如下: ArrayList<int[]> arl=new ArrayList<int[]>(); int a1[]={1,2,3}; arl.add(0,a1); System.out.println("Arraylist contains:"+arl.get(0)); ArrayList<Integer> arl = new ArrayList<Integer>(); ArrayList
ArrayList<int[]> arl=new ArrayList<int[]>();
int a1[]={1,2,3};
arl.add(0,a1);
System.out.println("Arraylist contains:"+arl.get(0));
ArrayList<Integer> arl = new ArrayList<Integer>();
ArrayList arl=new ArrayList();
int a1[]={1,2,3};
加上(0,a1);
System.out.println(“Arraylist包含:”+arl.get(0));
它给出输出:Arraylist包含:[I@3e25a5
现在我的问题是:
arl.get(0)[1]
首先,对于初始化容器,您不能使用基元类型(即
int
;您可以使用int[]
,但由于您只需要一个整数数组,我认为这没有用)。相反,您应该使用Integer
,如下所示:
ArrayList<int[]> arl=new ArrayList<int[]>();
int a1[]={1,2,3};
arl.add(0,a1);
System.out.println("Arraylist contains:"+arl.get(0));
ArrayList<Integer> arl = new ArrayList<Integer>();
最后,但并非最不重要的一点是,要打印ArrayList
,您可以使用toString()的内置功能:
如果要访问i元素,其中i是从0到数组长度-1的索引,可以执行以下操作:
int i = 0; // Index 0 is of the first element
System.out.println("The first element is: " + arl.get(i));
在开始使用Java容器之前,我建议先阅读Java容器。在Java中,数组是一个对象。因此,对arl.get(0)的调用返回一个基本的int[]对象,该对象在对System.out的调用中显示为ascii
因此,你第一个问题的答案是
System.out.println("Arraylist contains:"+Arrays.toString( arl.get( 0 ) ) );
如果要查找特定元素,则必须引用返回的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);
}
int[]contentFromList=arl.get(0);
for(int i=0;i
每个人都是对的。您不能直接打印int[]对象,但也不需要不使用整数数组的ArrayList
使用
Arrays.toString(arl.get(0))
如果要在字符串之间插入任何内容(如逗号),则表示将字符串对象拆分为子字符串
以下是我认为amv从int数组的角度寻找的内容
System.out.println("Arraylist contains: "
+ arl.get(0)[0] + ", "
+ arl.get(0)[1] + ", "
+ arl.get(0)[2]);
这个答案对amv来说有点晚了,但对其他人来说可能还是有用的。您必须使用
而不是
:
inta1[]={1,2,3};
ArrayList arl=新的ArrayList();
对于(int i:a1){
arl.添加(i);
System.out.println(“Arraylist包含:”+arl.get(0));
}
比这更简单
List<Integer> arrayIntegers = new ArrayList<>(Arrays.asList(1,2,3));
arrayIntegers.get(1);
List arrayIntegers=newarraylist(Arrays.asList(1,2,3));
数组积分。get(1);
在第一行中创建对象,在构造函数中向列表传递数组参数
第二行是List类的所有方法:.get(…)java.util.Arrays.toString()
将java数组转换为字符串:
System.out.println("Arraylist contains:"+Arrays.toString(arl.get(0)));
ArrayList list=new ArrayList();
整数,总数=0;
对于(int i=0;i设置:
List<int[]> intArrays=new ArrayList<>();
int anExample[]={1,2,3};
intArrays.add(anExample);
要检索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);
}
}
可以基于此逻辑执行输出格式设置。Goodluck!!Integer是包装类,int是基本数据类型。始终更喜欢在ArrayList中使用Integer。对于经验不足的人,我决定添加一个示例来演示如何基于此问题输入和输出整数数组的ArrayList
ArrayList ArrayList=new ArrayList();
而(n>0)
{
int d=scan.nextInt();
整数温度[]=新整数[d];
对于(int i=0;i
多亏了这个问题的答案,我得到了正确的答案。我相信这令人满意地回答了OP的问题,尽管有点晚了,并且可以作为对那些经验较少的人的解释。和回答问题2:arl.get(0)[I]只需注意:ArrayList
并不意味着“数组列表”而是一个在内部使用数组的列表。因此,您可以使用ArrayList
并添加您的值:arl.add(Integer.valueOf(1);…
我将这个问题解释为需要一个整数数组的列表。这一点似乎非常明确。他们试图获取(0)并期望该值为[1,2,3]。大多数答案似乎回答了错误的问题。他要求的是整型数组列表,而不是整型数组列表。但如果你阅读他的问题,你就会明白他是新来的,只是试图获取整型数组列表,并通过访问特定索引来获取值。)我看了之后,似乎很清楚他想要的是整型数组的列表。他在区分arl[0]
和a1[0]
例如。@SumitRamteke-您的编辑有效地使这篇文章无法回答问题。如果有这样的感觉,我很抱歉。我希望您不同意我的编辑,尽管这是一种个人的解决方案。我已经做了一些更改,让它理解您所写的内容是正确的,但是一般性的。只需遵循com社区实践,不要另眼相看这对我很有帮助。我当时正使劲想弄明白为什么ArrayList a=new ArrayList()不起作用。我发现Java语法很复杂。我想Java认为long[1]、long[2]、long[3]都是同一类型?注意:如果你试图转换int[]
到列表
List<int[]> intArrays=new ArrayList<>();
int anExample[]={1,2,3};
intArrays.add(anExample);
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 );
}
//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);
}
}
ArrayList<Integer[]> arrayList = new ArrayList<Integer[]>();
while(n > 0)
{
int d = scan.nextInt();
Integer temp[] = new Integer[d];
for (int i = 0 ; i < d ; i++)
{
int t = scan.nextInt();
temp[i]=Integer.valueOf(t);
}
arrayList.add(temp);
n--;
}//n is the size of the ArrayList that has been taken as a user input & d is the size
//of each individual array.
//to print something out from this ArrayList, we take in two
// values,index and index1 which is the number of the line we want and
// and the position of the element within that line (since the question
// followed a 1-based numbering scheme, I did not change it here)
System.out.println(Integer.valueOf(arrayList.get(index-1)[index1-1]));