Woong-Sup Jung
Woong-Sup Jung

Reputation: 2337

Java ArrayList Index

int[] alist = new int [3];
alist.add("apple");
alist.add("banana");
alist.add("orange");

Say that I want to use the second item in the ArrayList. What is the coding in order to get the following output?

output:

banana

Upvotes: 30

Views: 378756

Answers (7)

Buhake Sindi
Buhake Sindi

Reputation: 89209

You have ArrayList all wrong,

  • You can't have an integer array and assign a string value.
  • You cannot do a add() method in an array

Rather do this:

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"

Indexing is counted from 0 to N-1 where N is size() of list.

Upvotes: 110

Ralph
Ralph

Reputation: 120881

Using an Array:

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

Using a List

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

Upvotes: 9

aksarben
aksarben

Reputation: 626

The big difference between primitive arrays & object-based collections (e.g., ArrayList) is that the latter can grow (or shrink) dynamically. Primitive arrays are fixed in size: Once you create them, their size doesn't change (though the contents can).

Upvotes: 3

Peter Lawrey
Peter Lawrey

Reputation: 533880

Here is how I would write it.

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

Upvotes: 2

Jigar Joshi
Jigar Joshi

Reputation: 240996

Read more about Array and ArrayList

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

Note: Index starts from 0 i.e. Zero

Upvotes: 20

stacker
stacker

Reputation: 69002

In order to store Strings in an dynamic array (add-method) you can't define it as an array of integers ( int[3] ). You should declare it like this:

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

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

Upvotes: 5

AlexR
AlexR

Reputation: 115398

Exactly as arrays in all C-like languages. The indexes start from 0. So, apple is 0, banana is 1, orange is 2 etc.

Upvotes: 5

Related Questions