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.
Tags: Java
- Next story Struts Internationalization (I18N)
- Previous story Conversion of text file in PDF and vice versa in UNIX
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
More easy solution is to replace :
List myNewList = Array.asList(someArrayOfLong);
by :
List myNewList = new ArrayList(Array.asList(someArrayOfLong));
I think it resoled the problem
Thank you so muck your post is resolved my problem
i’m getting some exception when doing add operation on Collections.unmodifiableList like unsupported operation.can you pls provide a solution for this?
Collections.unmodifiableList(new ArrayList(map.values()))
getting unsupportedException
pls help
Thank You So much for the solution