zoukankan      html  css  js  c++  java
  • 操作集合的工具类Collections

    Collections是操作集合的工具类,提供了大量操作集合的方法,包括查询、修改、排序、同步等。

    Collections中的方法均为静态方法。

    1、排序

    void  reverse(List  list)   反转

    void  shuffle(List  list)   随机排序(可用于模拟洗牌)

    void  sort(List  list)   自然排序,升序

    void  sort(List  list, Comparator  c)   自定义排序

    void  swap(List  list, int  index1, int  index2)    交换指定位置上的2个元素

    2、查找、替换

    int  binarySearch(List list, Object obj)   需要保证该List已是有序状态

    Object  max(Collection  c)   最大值(自然排序)

    Object  max(Collection  coll , Comparactor  comp)   最大值(自定义排序)

    Object  min(Collection  c)   

    Object  min(Collection  coll , Comparactor  comp)  

    void  fill(List list,Object obj)   用指定的元素替换list中的所有元素

    boolean  replaceAll(List list, Object oldValue, Object  newValue)    用newValue替换list中所有的oldVue

    int  frequency(Collection  c, Object  obj)    统计obj出现的次数

    3、同步

    常用的集合类HashSet、TreeSet、ArrayList、LinkedList、HashMap、TreeMap都不是线程安全的,当多个线程同时访问、修改同一个集合对象时,需要手动同步该集合。

    Collections提供的 synchronizedXxx(集合对象)  可以把该集合对象包装成线程同步的集合。

    1 //Collections提供的synchronizedXxx()同步方法只同步到接口级,所以,声明同步对象时,只能声明到接口级,可以声明为父接口级,但不能声明为具体的实现类
    2         //比如下面这句可以声明为List或者Collection,但不能声明为ArrayList
    3        Collection collection=Collections.synchronizedList(new ArrayList());
    4        List list=Collections.synchronizedList(new ArrayList());
    5        Set set=Collections.synchronizedSet(new HashSet());
    6        Map Map= Collections.synchronizedMap(new HashMap());
  • 相关阅读:
    C程序设计课程2012电子信息 第四次上机实验
    C程序设计课程2012电子信息 第一次上机实验
    C程序设计课程2012电子信息第五次上机实验
    软工导论 12132 实验前提条件
    C程序设计课程2012电子信息 第二次上机实验
    C程序设计课程2012电子信息 第三次上机实验
    C程序设计课程2012电子信息 第四堂课后作业
    umbraco中文包应用
    C#遍历一个dictionary
    介绍几款用于单文件或多文件上传的JQuery插件
  • 原文地址:https://www.cnblogs.com/chy18883701161/p/10897082.html
Copyright © 2011-2022 走看看