Java Arrays,Collections中addAll使用方法和初始化容器方法
阿新 • • 發佈:2019-01-28
package stl; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.LinkedList; import java.util.List; public class Test1 { public static void main(String[] args) { List list = Arrays.asList(1,2,4,5,6,3,8.3,-0.32343); System.out.println(list.toString()); // 通過Arrays。asList得到的List,無法對其進行增刪元素。這是因為, // 該函式返回的List,其底層實現是陣列,而陣列的長度是固定的 //list.add(88); //list.remove(list.size() - 1); List<Integer> iLst = new ArrayList<Integer>(list); System.out.println(iLst.size()); iLst.remove(iLst.size() - 1); iLst.remove(iLst.size() - 1); Integer[] iArr = iLst.toArray(new Integer[0]); List<Integer> iLst2 = new ArrayList<Integer>(Arrays.asList(7,4,5,0,88)); Collection<Integer> cl1 = new ArrayList<Integer>(iLst2); Collection<Integer> cl2 = new LinkedList<Integer>(); cl2.addAll(iLst2); Collection<Integer> cl3 = new ArrayList<Integer>(); Collections.addAll(cl3, 1,2, new Integer(3)); System.out.println(cl3.toString()); List<B> listB = Arrays.asList(new B(), new B1(), new B2(), new B3(), new B4(),new B5()); List<B> listB2 = Arrays.asList(new B2(), new B3()); List<B> listB3 = new LinkedList<B>(); Collections.addAll(listB3, new B3(), new B5()); listB3.addAll(listB); Collections.addAll(listB3, listB2.toArray(new B[0])); List<B> listB4 = Arrays.<B>asList(listB3.toArray(new B[0]));
//以下幾行是測試 List 和 陣列的toString的輸出值 System.out.println(listB3.toString()); B[] bArr = new B[]{new B(), new B1(), new B2(), new B3(), new B4(), new B5()}; System.out.println(bArr.toString()); // 陣列的toString函式,仍然是輸出“包名.類名@雜湊值” System.out.println(Arrays.toString(bArr)); //輸出陣列內窩,內容依賴於物件的toString int[] aArr = {2,3,5,7,8}; System.out.println(aArr.toString()); System.out.println(Arrays.toString(aArr)); } } class B { } class B1 extends B{ @Override public String toString() { return "B1 "; } } class B2 extends B{ public String toString() { return "B2 "; } } class B3 extends B{} class B4 extends B{ public String toString() { return "B4 "; } } class B5 extends B{}
</pre><pre name="code" class="java">
使用addAll來增加元素時(無論是Collections,還是Collection自身【包括List、Set、Deque】的),增加幾個元素,modcount的值加幾。