A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© SenGoo 中级黑马   /  2014-10-19 11:52  /  653 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


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中的元素进行位置的置换。
------------------------------------------------------------------------------------------------------------------------
示例:
  1. import java.util.ArrayList;     
  2.                 import java.util.Collections;    //需要将Collections类导入,通过类名调用里面的静态方法
  3.                 import java.util.List;  
  4.                     
  5.                 public class TestCollections {         
  6.                     public static void main(String args[]) {          //注意List是实现Collection接口的   
  7.                                 List list = new ArrayList();   
  8.                         double array[] = { 112, 111, 23, 456, 231 };            
  9.                                 for (int i = 0; i < array.length; i++) {               
  10.                                         list.add(new Double(array[i]));         //将Array数组添加到List集合中
  11.                                 }   
  12.                                Collections.sort(list);    //调用Colections的sort()方法进行自然排序
  13.                                for (int i = 0; i < array.length; i++) {            
  14.                                         System.out.println(list.get(i));         //输出排序后的结果
  15.                                 }   
  16.                                                 // 结果:23.0 111.0 112.0 231.0 456.0      
  17.                         }  
  18.                 }  
复制代码


----------------------------------------------------------------------------------------------------------------------------------
注:Colections中有一个将非同步集合转成同步集合的方法:
                        Collections中的  Xxx synchronizedXxx(Xxx);
                        List synchronizedList(list);
                        Map synchronizedMap(map) ;
原理:定义一个类,将集合所有的方法加同一把锁后返回。


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马