Java_Collection和Collections的区别

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{
    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) ;
原理:定义一个类,将集合所有的方法加同一把锁后返回。

你可能感兴趣的:(java,Java)