Collections Collection二者的区别:

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

}

猜你喜欢

转载自blog.csdn.net/weixin_42698882/article/details/82974191