Collection:java.util.Collection 是一个集合接口。它提供了对集合对象进行
基本操作的通用接口方法,如:插入、删除、判断一个元素是否是其成员、遍历等。
Collection接口在Java 类库中有很多具体的实现(参考Collection基本关系图)。
Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。
Collections:java.util.Collections 是一个包装类。它包含有各种有关集合操作的静态多态方法。
此类不能实例化,就像一个工具类,服务于Java的Collection框架。
静态方法:Collections.sort(list);//list集合进行元素的自然顺序排序。
Collections.sort(list,new ComparatorByLen());//按指定的比较器方法排序。
class ComparatorByLen implements Comparator<String>{
public int compare(String s1,String s2){
int temp = s1.length()-s2.length();
return temp==0
s1.compareTo(s2):temp;
}
}
Collections.max(list);//返回list中字典顺序最大的元素。
int index = Collections.binarySearch(list,"zz");//二分查找,返回角标。必须是有序的
Collections.fill();//可以将list集合中的所有元素替换成指定元素。
Collections.repalceAll(list,"要被替换的","替换的值");//可以将list集合中的指定元素替换成指定元素。
Collections.reverse(); //反转
Collections.reverseOrder(参数是比较器);//逆向反转排序。倒序。。
Collections.shuffle(list);//随机对list中的元素进行位置的置换。
------------------------------------------------------------------------------------------------------------------------
示例:- import java.util.ArrayList;
- import java.util.Collections; //需要将Collections类导入,通过类名调用里面的静态方法
- import java.util.List;
-
- public class TestCollections {
- public static void main(String args[]) { //注意List是实现Collection接口的
- List list = new ArrayList();
- double array[] = { 112, 111, 23, 456, 231 };
- for (int i = 0; i < array.length; i++) {
- list.add(new Double(array[i])); //将Array数组添加到List集合中
- }
- Collections.sort(list); //调用Colections的sort()方法进行自然排序
- for (int i = 0; i < array.length; i++) {
- System.out.println(list.get(i)); //输出排序后的结果
- }
- // 结果:23.0 111.0 112.0 231.0 456.0
- }
- }
复制代码
----------------------------------------------------------------------------------------------------------------------------------
注:Colections中有一个将非同步集合转成同步集合的方法:
Collections中的 Xxx synchronizedXxx(Xxx);
List synchronizedList(list);
Map synchronizedMap(map) ;
原理:定义一个类,将集合所有的方法加同一把锁后返回。
|
|