Java從在陣列中刪除指定元素
阿新 • • 發佈:2018-12-17
package org.usc.action; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Test { public static void main(String[] args) { String[] str={"張三","李四","王五","宋六","趙七","朱八","何九","田十"}; List<String> list=Arrays.asList(str);//將陣列轉換為list集合 if(list.contains("張三")){//加入集合中包含這個元素 /*remove這些method時出現java.lang.UnsupportedOperationException異常。 * 這是由於Arrays.asList() 返回java.util.Arrays$ArrayList, * 而不是ArrayList。Arrays$ArrayList和ArrayList都是繼承AbstractList, * remove,add等method在AbstractList中是預設throw UnsupportedOperationException而且不作任何操作。 * ArrayList override這些method來對list進行操作, * 但是Arrays$ArrayList沒有override remove(),add()等, * 所以throw UnsupportedOperationException。 */ //這個時候我們直接移除會報錯,所以我們要轉換為Arraylist //list.remove("張三"); List<String> arrayList=new ArrayList<String>(list);//轉換為ArrayLsit呼叫相關的remove方法 arrayList.remove("張三"); for(String str1:arrayList ){ System.out.print(str1+","); } } } }