我们知道Collection是集合的父接口,那么Collections呢?它是什么呢,它与Collection有什么关系吗?

Collection  和  Collections 有什么关系:
Collection  是集合体系的最顶层,包含了集合体系的共性
Colelctions 是一个工具类,不需要,也不能创建对象,它的方法全是static修饰的,用来操作Collection

由此,我们得知,Collections是操作集合对象的工具类,那它有哪些方法呢,我们现在一起来看一下:

  • static int binarySearch(List list , T key):二分查找,查找制定元素在指定列表中的索引位置

             前提条件:数据要有顺序。不能是Set,Set无序,参数只能是List

	private static void method() {
            //创建List对象
		List<Integer> list = new ArrayList<Integer>();
            //添加元素
		list.add(1);
		list.add(2);
		list.add(3);
		list.add(4);
		list.add(5);
            //查找list列表中值为4的元素,返回该元素所在的索引
		int index = Collections.binarySearch(list, 4);
		System.out.println(index);
            //output:3
	}
  • static void  copy(List dest , List src):将源列表src中的数据覆盖到目标列表dest

             条件:dest的长度至少等于src的长度

	private static void method2() {
		List<String> src = new ArrayList<String>();
		src.add("hello");
		src.add("Java");
		src.add("Hadoop");
		
		List<String> dest = new ArrayList<String>();
		dest.add("java");
		dest.add("java");
		dest.add("java");
		dest.add("java");
		Collections.copy(dest, src);
		
		System.out.println(dest);
                //output:[hello, Java, Hadoop, java]
	}
  • static void fill(List list, Object obj):使用指定对象obj填充指定列表list中的所有元素
	private static void method3() {
		List<String> list = new ArrayList<String>();
		list.add("hello");
		list.add("Java");
		list.add("Hadoop");
		System.out.println(list);
                //output:[hello, Java, Hadoop]
		
		Collections.fill(list, "java");
		System.out.println(list);
                //output:[java, java, java]
	}
  • static void reverse(List list):反转
	private static void method4() {
		List<String> list = new ArrayList<String>();
		list.add("hello");
		list.add("Java");
		list.add("Hadoop");
		System.out.println(list);
                //output:[hello, Java, Hadoop]

		Collections.reverse(list);
		System.out.println(list);
		//output:[Hadoop, Java, hello]
	}
  • static void shuffle(List list):随机置换
	private static void method4() {
		List<String> list = new ArrayList<String>();
		list.add("hello");
		list.add("Java");
		list.add("Hadoop");
		System.out.println(list);
		//output:[hello, Java, Hadoop]
		
		Collections.shuffle(list);
		System.out.println(list);
		//output:[Java, Hadoop, hello]

		Collections.shuffle(list);
		System.out.println(list);
                //output:[hello, Hadoop, Java]
	}
  • static void sort(List list) :按照列表中元素的自然顺序排序
	private static void method5() {
		List<Integer> list = new ArrayList<Integer>();
		list.add(1);
		list.add(3);
		list.add(5);
		list.add(4);
		list.add(2);
		
		
		Collections.sort(list);
		System.out.println(list);
                //output:[1, 2, 3, 4, 5]

	}
  • static void swap(List list ,int i, int j):将指定列表的两个索引进行位置互换
	private static void method6() {
		List<Integer> list = new ArrayList<Integer>();
		list.add(1);
		list.add(3);

		Collections.swap(list, 0, 1);
		System.out.println(list);
                //output:[3, 1]
	}

好了,关于Collections工具类的主要方法就是这些,也是非常的简单。

 

posted on 2018-07-31 14:08  七宝嘤嘤怪  阅读(109)  评论(0编辑  收藏  举报