UnsupportedOperationException while removing or adding elements from List
- By Viral Patel on November 21, 2008
Problem statement:
While running following code, UnsupportedOperationException is thrown both at .add() and .remove() method. What is the problem with the code?
List myNewList = Array.asList(someArrayOfLong); myNewList.add(new Long(15)); //add an element in the list. myNewList.remove(0); //remove element from the list at index 0.
Solution:
By the time you get to the remove(i) statement, list is no longer a java.util.ArrayList. When you call Arrays.asList it does not return a java.util.ArrayList. It returns a java.util.Arrays$ArrayList which is an immutable list. You cannot add to it and you cannot remove from it.
Get our Articles via Email. Enter your email address.
i was facing the same problem,”UnsupportedOperationException while removing or adding elements from List.”
what i did was took the arrays.aslist result in new Arraylist and used addAll method to add in it..then we can perform the add/remove from newly created and populated list.
//Customer_Orders was converted to list by using Arrays.aslist
//was giving exception on remove
(Arrays.asList(customer_Orders)
//what i did was
List list1= new ArrayList();
list1.addAll(Arrays.asList(customer_Orders)) ;
//perform operation on list1
list1.remove(j);
Thanks, this surly helped me.
What do you mean by “By the time you get to the remove(i) statement, list is no longer a java.util.ArrayList.”?
A. It crashes before that line
B. list was never a java.util.ArrayList