1、Collections类的概述
1)此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。它包含在 collection 上操作的多态算法,即“包装器”,包装器返回由指定 collection 支持的新 collection,以及少数其他内容。
2)如果为此类的方法所提供的 collection 或类对象为 null,则这些方法都将抛出 NullPointerException。
2、Collections的一些功能
package Collections;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/*Collection和Collections的区别:
* Collection:顶层次单列集合的根接口,它是一个集合,是一个接口
* Collections:是针对集合操作的工具类,有一些功能:随机置换,集合里面的二分查找,将集合的元素进行反转
*public static <T> int binarySearch(List<T> list, T key):使用二分搜索法搜索指定列表,以获得指定对象。
* static T max(Collection coll):获取集合中的最大值
* public static void reverse(List<?> list):将集合中的元素顺序反转
* public static void shuffle(List<?> list):将集合中的元素打乱
* public static void sort(List<T> list):对集合进行排序
*
* */
public class Collections_method {
public static void main(String[] args) {
// 创建List集合
List<Integer> list = new ArrayList<Integer>();
// 向集合中添加元素
list.add(27);
list.add(34);
list.add(245);
list.add(67);
list.add(54);
list.add(27);
list.add(34);
System.out.println(list); // 输出:[27, 34, 245, 67, 54, 27, 34]
// 对集合进行排序
Collections.sort(list);
System.out.println(list); // 输出:[27, 27, 34, 34, 54, 67, 245]
// 集合的二分查找 public static <T> int binarySearch(List<T> list, T key)
// :使用二分搜索法搜索指定列表,以获得指定对象。
System.out.println(Collections.binarySearch(list, 67)); // 输出:5
// static T max(Collection coll):获取集合中的最大值
System.out.println(Collections.max(list)); // 输出:245
// public static void reverse(List<?> list):将集合中的元素顺序反转
Collections.reverse(list);
System.out.println(list); // 输出:[245, 67, 54, 34, 34, 27, 27]
/*
* System.out.println(Collections.reverse(list)); //此时显示编译出错 The method
* println(boolean) in the type PrintStream is not applicable for the
* arguments (void) 类型PrintStream中的println(boolean)方法不适用于参数(void)
*/
// public static void shuffle(List<?> list):将集合中的元素打乱
/*
* System.out.println(Collections.shuffle(list)); The method
* println(boolean) in the type PrintStream is not applicable for the
* arguments (void) 类型PrintStream中的println(boolean)方法不适用于参数(void)
*/
Collections.shuffle(list);
System.out.println(list); // 输出:[54, 34, 67, 27, 34, 245, 27] 为随机打乱
}
}