* 二者的区别:
* 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);
}
}