Collections工具类的一些基本方法

基本方法的使用:

代码如下

package com.demo.main;

import java.sql.Array;
import java.util.ArrayList;
import java.util.Collections;

public class Main {

	public static void main(String[] args) {

		//Collections工具类的一些基本方法。 
		/*
		 * 1.sort(List<T> list, Comparator<? super T> c):排序方法。
		 *   可以排序实现了Comparator的类型,如String。
		 */
		ArrayList<String> list = new ArrayList<>() ; 
		list.add("a");
		list.add("f");
		list.add("c");
		list.add("d");
		list.add("g");
		Collections.sort(list);
		System.out.println(list);//[a, c, d, f, g]

		/*
		 * 2.binarySearch(List<? extends Comparable<? super T>> list, T key) :使用二叉搜索算法搜索指定对象的指定列表。 
		 *   List<? extends Comparable<? super T> List中的类实现了Comparable,可以使用compare()方法排序,所以使用二分查找的集合最好是有序的。
		 */
		//list 使用 sort()排序之后变成了有序的了。
		int index1 = Collections.binarySearch(list, "c");
		System.out.println(index1);// 1 ; 
		int index2 = Collections.binarySearch(list,"b");
		/*
		 * 因为Collections 与 Arrays 中的 binarySearch 是 相同的 ,在Arrays中,用二分查找查找集合中不存在的元素,最后返回的索引index的值为:-(插入位置)-1 。
		 * b的插入位置是在 a 后面 c的前面,所以插入位置 是 index=1 的位置,但是集合中没有b,所以返回的值为:-1-1 = -2 ,返回 -2 。
		 */
		
		//3.max(list)方法:找出集合中最大的元素 。
		ArrayList<String> list1 = new ArrayList<>() ; 
		list1.add("a");
		list1.add("f");
		list1.add("c");
		list1.add("d");
		list1.add("g");
		
		String maxList = Collections.max(list1);
		System.out.println(maxList);//g
		
		//4.static void reverse(List<?> list) :反转指定列表中元素的顺序。
		//list1 = [a f c d g]。
		Collections.reverse(list1);
		System.out.println(list1);//[g, d, c, f, a]
		
		//5.static void shuffle(List<?> list) : 随机排序 。 就等于洗牌,常常用做洗扑克牌。
		ArrayList<String> list2 = new ArrayList<>() ; 
		list2.add("a");
		list2.add("g");
		list2.add("d");
		list2.add("c");
		list2.add("f");
		Collections.shuffle(list2);
		System.out.println(list2);//每一次随机生成的集合元素顺序都不一样。
	}

}

猜你喜欢

转载自blog.csdn.net/Ameir_yang/article/details/81475168