JavaでArrays.asListを使うなどして固定長のListをつくると、Iteratorを使った要素の削除でこけます。
下記のようなコードは実行すると「UnsupportedOperationException」が発生します。
List list = Arrays.asList(array); for(Iterator it = list.iterator(); it.hasNext()){ if(something) { it.remove(); } }
LinkedListクラスに変換してやるとうまくいきます。
List list = new LinkedList(Arrays.asList(array)); for(Iterator it = list.iterator(); it.hasNext()){ if(something) { it.remove(); } }