Collections Collection二者的區別:
阿新 • • 發佈:2018-11-12
* 二者的區別:
* Collections:是一個工具類,他的方法是用於操作Collection類
* Collection:集合體系的最頂層,包含了集合體系的共性(List:有序、有整數索引、允許重複)
* (Set:無序、不允許重複)
package com.myset.optimization; import java.util.ArrayList; import java.util.Collections; import java.util.List; /* * 二者的區別: * Collections:是一個工具類,他的方法是用於操作Collection類 * Collection:集合體系的最頂層,包含了集合體系的共性(List:有序、有整數索引、允許重複) * (Set:無序、不允許重複) * */ public class CollectionsDemo { public static void main(String[] args) { method1();//二分查詢 method2();//複製 //static <T> void fill(List list, T obj) 使用指定元素替換指定列表中的所有元素。 } private static void method2() { //static <T> void copy(List dest, List src) 將所有元素從一個列表覆蓋到另一個列表。 //前提條件是目標列表的長度必須大於等於源列表的長度 List<String> src = new ArrayList<String>(); src.add("hello"); src.add("Android"); src.add("java"); List<String> dest = new ArrayList<String>(); /*Collections.copy(dest, src); //OUT:Exception in thread "main" java.lang.IndexOutOfBoundsException: Source does not fit in dest //前提條件是目標列表的長度必須大於等於源列表的長度*/ dest.add("jajva"); dest.add("jajva"); dest.add("jajva"); dest.add("jajva"); dest.add("jajva"); dest.add("jajva"); Collections.copy(dest, src); System.out.println(dest);//OUT:[hello, Android, java, jajva, jajva, jajva] Collections.sort(dest); } private static void method1() { //static <T> int binarySearch(list list, Object key)使用二分搜尋法搜尋指定列表,以獲得指定物件。 List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); int index = Collections.binarySearch(list, 4); System.out.println(index); } }