2010-11-30 160 views
20
int[] alist = new int [3]; 
alist.add("apple"); 
alist.add("banana"); 
alist.add("orange"); 

假设我想使用ArrayList中的第二项。什么是编码以获得以下输出?Java ArrayList索引

输出:

香蕉

+9

您的代码将无法编译:ALIST一个数组,但你使用它像一个名单 - 这是不可能的,ALIST为整数类型的 - 你不能字符串分配给它。 – Ralph 2010-11-30 12:03:18

回答

84

你的ArrayList都错了,

  • 你不能有一个整数数组,并指定一个字符串值。
  • 不能在阵列

相反为此做add()方法:

List<String> alist = new ArrayList<String>(); 
alist.add("apple"); 
alist.add("banana"); 
alist.add("orange"); 

String value = alist.get(1); //returns the 2nd item from list, in this case "banana" 

索引从0计数以N-1其中N是列表的size()

15

了解更多关于ArrayArrayList

List<String> aList = new ArrayList<String>(); 
aList.add("apple"); 
aList.add("banana"); 
aList.add("orange"); 
String result = alist.get(1); //this will retrieve banana 

注:指数从0即零

开始
4

与所有类C语言中的数组完全一样。索引开始从0。因此,苹果是0,香蕉是1,橙2等

5

为了存储字符串在动态阵列(添加方法)不能将它定义为一个整数数组(int [3])。你应该声明它是这样的:

ArrayList<String> alist = new ArrayList<String>(); 
alist.add("apple"); 
alist.add("banana"); 
alist.add("orange"); 

System.out.println(alist.get(1)); 
9

使用数组:

String[] fruits = new String[3]; // make a 3 element array 
fruits[0]="apple"; 
fruits[1]="banana"; 
fruits[2]="orange"; 
System.out.println(fruits[1]); // output the second element 

使用一个列表

ArrayList<String> fruits = new ArrayList<String>(); 
fruits.add("apple"); 
fruits.add("banana"); 
fruits.add("orange"); 
System.out.println(fruits.get(1)); 
1

这是我会怎么写。

String[] fruit = "apple banana orange".split(" "); 
System.out.println(fruit[1]); 
+0

你必须看中,哈哈。 – 2010-11-30 13:24:21

1

原始阵列&基于对象的集合(例如,ArrayList的)之间的最大区别是,后者可以生长(或缩小)动态。原始数组的大小是固定的:创建它们后,它们的大小不会改变(尽管内容可以)。