Jump to content

ArrayList problem in Java

xyz 1 member has voted

  1. 1. is the problem clear

Please sign in or register to vote in this poll.

Featured Replies

consider-

String[] str1={"One"};

String[] str2={"One","Two"};

String[] str3={"One","Two", "Three"};

String[] str4={"One","Two", "Three", "Four"};

String[] str5={"One","Two", "Three", "Four","Five"};

 

ArrayList al=new ArrayList();

 

al.add(str1);

al.add(str2);

al.add(str3);

al.add(str4);

al.add(str5);

 

till now i have successfully added 5 arrays in the array list, al.. now i want to retrieve each element of each array..

 

if i use iterator-

Iterator itr=al.iterator();

while(itr.hasNext()) {

System.out.println("Element : "+itr.next());

}

 

i get-

Element : [Ljava.lang.String;@182f0db

Element : [Ljava.lang.String;@192d342

Element : [Ljava.lang.String;@6b97fd

Element : [Ljava.lang.String;@1c78e57

Element : [Ljava.lang.String;@5224ee

 

clearly, these are addresses of those 5 arrays, i dont want them, i want the elements, output should be-

One

One Two

One Two Three

One Two Three Four

One Two Three Four Five

 

so my question, how to retrieve them?

 

but i guess i can achieve this by using List and probably even achieve my goal but what if i only want the value "Three" from the array str3 that is now in al, how would i retrieve it?

 

desired output-

Value at 3rd position of al's 3rd element : Three

Off the cuff I would say

 


public static void main(String[] args) {
	String[] str1={"One"};
	String[] str2={"One","Two"};
	String[] str3={"One","Two", "Three"};
	String[] str4={"One","Two", "Three", "Four"};
	String[] str5={"One","Two", "Three", "Four","Five"};

	ArrayList<String[]> al=new ArrayList<String[]>();

	al.add(str1);
	al.add(str2);
	al.add(str3);
	al.add(str4);
	al.add(str5);

	String[] array = (String[]) al.get(2);
	System.out.print(array[2]);

}


Str 3, position 3 :Three

 

If you wanted to iterate over all of them you could do something like this:


public static void main(String[] args) {
	String[] str1={"One"};
	String[] str2={"One","Two"};
	String[] str3={"One","Two", "Three"};
	String[] str4={"One","Two", "Three", "Four"};
	String[] str5={"One","Two", "Three", "Four","Five"};

	ArrayList<String[]> al=new ArrayList<String[]>();

	al.add(str1);
	al.add(str2);
	al.add(str3);
	al.add(str4);
	al.add(str5);

	Iterator itr = al.iterator();
	while(itr.hasNext()){
		String[] array = (String[]) itr.next();
		for (int i = 0;i < array.length; i++){
			System.out.print(array[i] + " ");
		}
		System.out.print("\n");
	}

}

}

Output:


One 
One Two 
One Two Three 
One Two Three Four 
One Two Three Four Five 

  • Author

thanks 'Greg H.' for the prompt reply.. my problem is solved now..

 

but i figured one more way of iterating through the array list, thought i would share with you, it goes as follows:

 

import java.util.*;

class al {
public static void main(String nav[]) {
	String[] st1={"One"};
	String[] st2={"One", "Two"};
	String[] st3={"One", "Two", "Three"};
	String[] st4={"One", "Two", "Three", "Four"};
	String[] st5={"One", "Two", "Three", "Four", "Six"};

	ArrayList obj=new ArrayList();

	obj.addAll(Arrays.asList(st1, st2, st3, st4, st5));

	for(int i=0; i<obj.size(); i++)
		System.out.println(Arrays.toString((String[]) obj.get(i)));
}
}

 

Output-

[One]
[One, Two]
[One, Two, Three]
[One, Two, Three, Four]
[One, Two, Three, Four, Six]

 

thanking you again..

Archived

This topic is now archived and is closed to further replies.

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.