public class Change2 {public static void main(String[] args) {String[] str={"小黃","小王","小麗"};//使用ArrayList集合中的構造器ArrayList<String> list = new ArrayList<>(Arrays.asList(str));//顯示集合中的內容Iterator<String> iterator = list.iterator();while (iterator.hasNext()){String s = iterator.next();System.out.print(s);}//對集合進行增刪操作list.add("小張");list.remove("小黃");System.out.println(list);}
}
publicclassChange3{publicstaticvoidmain(String[] args){String[] str={"小黃","小王","小麗"};ArrayList<String> list =newArrayList(str.length);Collections.addAll(list,str);list.add("小李");System.out.println(list);}}
程序結果:
addAll方法的原碼
publicstatic<T>booleanaddAll(Collection<?super T> c, T... elements){boolean result =false;for(T element : elements)result |= c.add(element);return result;}
可以看出,在進行添加時使用的是位運算,所以計算效率非常高。
集合轉為數組
使用Collections中的toArray方法
代碼演示:
publicclassChange4{publicstaticvoidmain(String[] args){ArrayList<Integer> list =newArrayList<>();list.add(1);list.add(2);list.add(3);//使用Colletions類中的toArray方法String[] str =(String[]) list.toArray();System.out.println(str);}}
publicclassChange4{publicstaticvoidmain(String[] args){ArrayList<Integer> list =newArrayList<>();list.add(1);list.add(2);list.add(3);Integer[] integers = list.toArray(newInteger[list.size()]);for(Integer integer:integers){System.out.println(integer);}}}
使用循環把集合中的數據寫入到數組中
代碼演示:
publicclassChange5{publicstaticvoidmain(String[] args){ArrayList<Integer> list =newArrayList<>();list.add(1);list.add(2);list.add(3);Integer[] integers =newInteger[list.size()];for(int i =0; i < list.size(); i++){integers[i]=list.get(i);}//輸出數組中的信息for(Integer integer:integers){System.out.println(integer);}}}