I have a ArrayList as below.
ArrayList<ArrayList<String>> a = new ArrayList<ArrayList<String>>();
Where ArrayList 'a'
contains two ArrayList of string as below.
[a,b,c,d] & [1,2,3,4]
How to merge these two list into a single list as below.
[a,b,c,d,1,2,3,4]
Thanks In Advance.
You combine a foreach
loop and the addAll
method.
Example
ArrayList<String> combined = new ArrayList<String>();
for(ArrayList<String> list : a) {
combined.addAll(list);
}
How this works?
A for each
loop will traverse through every member of a Collection
. It has a temporary variable, in this case list
that it assigns the current element too. All you're doing is adding every element inside each value for list
, to one ArrayList
named combined
.
Just iterate through all the inner lists of a
using foreach
loop and addAll
to result
arraylist
ArrayList<String> merged = new ArrayList<String>();
for(ArrayList<String> list : a){
merged.addAll(list);
}
EDIT: As @Lubo pointed out.
Note that this way you can end up with many arrays being created and thrown away internally in ArrayList
. If you have large lists (number of contained elements), consider looking here: Union List
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With