public class Change2 {public static void main(String[] args) {String[] str={"小黃","小王","小麗"};//使用ArrayList集合中的構(gòu)造器ArrayList<String> list = new ArrayList<>(Arrays.asList(str));//顯示集合中的內(nèi)容Iterator<String> iterator = list.iterator();while (iterator.hasNext()){String s = iterator.next();System.out.print(s);}//對集合進(jìn)行增刪操作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);}}
程序結(jié)果:
addAll方法的原碼
publicstatic<T>booleanaddAll(Collection<?super T> c, T... elements){boolean result =false;for(T element : elements)result |= c.add(element);return result;}
可以看出,在進(jìn)行添加時(shí)使用的是位運(yùn)算,所以計(jì)算效率非常高。
集合轉(zhuǎn)為數(shù)組
使用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);}}}
使用循環(huán)把集合中的數(shù)據(jù)寫入到數(shù)組中
代碼演示:
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);}//輸出數(shù)組中的信息for(Integer integer:integers){System.out.println(integer);}}}