Object[] --> java.util.List
or
java.util.List --> Object[].
Array to List
public static void main(String[] args) {
String[] names= {"Name 1","Name 3","Name 4"};
List nameList=Arrays.asList(names);
System.out.println("List Size is :"+nameList.size());
System.out.println("Names are :"+nameList);
}
It will give the Output as List Size is :3 Names are :[Name 1, Name 3, Name 4]
We know how to insert the data in some position in List, But the insertion will not be allowed in the List provided by Arrays.asList,
It throws the following Exception when we do
nameList.add(2,"Name 2");
or
nameList.add("Name 2");
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:151)
at java.util.AbstractList.add(AbstractList.java:89)
at org.work.corejava.collection.ArrayToList.main(ArrayToList.java:12)
Reason: ReferenceArrays.asList Returns a fixed-size list backed by the specified array. (Changes to the returned list "write through" to the array.) This method acts as bridge between array-based and collection-based APIs, in combination with Collection.toArray.
But as the array supported
names[1] ="Name 2";
The same functionality will be supported by List also , as follows.
nameList.set(1,"Name 2");
List to Array List to Array can be done using the following Code.
String[] namesArray = nameList.toArray(new String[0]);
in JDK 1.4 we need to do teh following type casting.
String[] namesArray = (String[])nameList.toArray(new String[0]);

No comments:
Post a Comment