博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
操作集合的工具类Collections
阅读量:4652 次
发布时间:2019-06-09

本文共 2371 字,大约阅读时间需要 7 分钟。

1       操作集合的工具类Collections

Java提供了一个操作Set、List和Map等集合的工具类:Collections,该工具类里提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了将集合对象设置为不可变、对集合对象实现同步控制等方法。

 

1.1     排序操作

  1. static void reverse(List<?> list): 反转指定列表中元素的顺序。
  2. static void shuffle(List<?> list): 使用默认随机源对指定列表进行置换。
  3. static <T extends Comparable<? super T>> void  sort(List<T> list): 根据元素的自然顺序 对指定列表按升序进行排序。
  4. static <T> void sort(List<T> list, Comparator<? super T> c): 根据指定比较器产生的顺序对指定列表进行排序。
  5. static void swap(List<?> list, int i, int j): 在指定列表的指定位置处交换元素。
  6. static void rotate(List<?> list, int distance):根据指定的距离轮换指定列表中的元素。

 

ArrayList nums = new ArrayList();

      nums.add(2);

      nums.add(-5);

      nums.add(3);

      nums.add(0);

     

      System.out.println( nums );

      Collections.reverse(nums);

      System.out.println(nums);

     

      Collections.sort(nums);

      System.out.println( nums );

     

      Collections.shuffle(nums);

      System.out.println( nums );

 

1.2     查找、替换操作

  1. static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key):使用二分搜索法搜索指定列表,以获得指定对象。
  2. static <T extends Object & Comparable<? super T>> T  max(Collection<? extends T> coll): 根据元素的自然顺序,返回给定 collection 的最大元素。
  3. static <T> T  max(Collection<? extends T> coll, Comparator<? super T> comp): 根据指定比较器产生的顺序,返回给定 collection 的最大元素。
  4. static <T extends Object & Comparable<? super T>> T min(Collection<? extends T> coll):根据元素的自然顺序 返回给定 collection 的最小元素。
  5. static <T> T  min(Collection<? extends T> coll, Comparator<? super T> comp):根据指定比较器产生的顺序,返回给定 collection 的最小元素。
  6. static <T> void fill(List<? super T> list, T obj):  使用指定元素替换指定列表中的所有元素。
  7. static int frequency(Collection<?> c, Object o):返回指定 collection 中等于指定对象的元素数。
  8. static int indexOfSubList(List<?> source, List<?> target):返回指定源列表中第一次出现指定目标列表的起始位置;如果没有出现这样的列表,则返回 -1。
  9. static int lastIndexOfSubList(List<?> source, List<?> target):返回指定源列表中最后一次出现指定目标列表的起始位置;如果没有出现这样的列表,则返回 -1。
  10. static <T> boolean replaceAll(List<T> list, T oldVal, T newVal): 使用另一个值替换列表中出现的所有某一指定值。

 

1.3     同步控制

Collection c = Collections.synchronizedCollection(

              new ArrayList() 

              );

      List list = Collections.synchronizedList(new ArrayList());

      Set s = Collections.synchronizedSet(new HashSet());

      Map m = Collections.synchronizedMap(new HashMap());

 

1.4     设置不可变集合

Collections提供了如下三个类方法来返回一个不可变的集合:

  1. emptyXXX():返回一个空的、不可变的集合对象,此处的集合即可以是List,也可以是Set,还可以是Map。
  2. singletonXXX():返回一个只包含指定对象的,不可变的集合对象,此处的集合即可以是List,也可以是Set,还可以是Map。
  3. unmodifiableXxx():返回指定集合对象的不可变试图,此处的集合即可以是List,也可以是Set,还可以是Map。

转载于:https://www.cnblogs.com/haiwei_sun/p/3393507.html

你可能感兴趣的文章
Java基础之IO
查看>>
asp.net中的App_GlobalResources和App_LocalResources使用
查看>>
集合类
查看>>
多列转1列 SqlServer 实现oracle10g的 wmsys.wm_concat()--for xml path('')
查看>>
Entity Framework应用:使用Code First模式管理视图
查看>>
【机器学习】贝叶斯公式
查看>>
445端口打开方法
查看>>
生成器
查看>>
Pycharm 创建 Django admin 用户名和密码
查看>>
python2.6升级2.7导致yum无法使用 No module named yum
查看>>
maintenance.go
查看>>
【转载】NativeSQL实例
查看>>
LeetCode--434--字符串中的单词数
查看>>
并发容器之CopyOnWriteArrayList(转载)
查看>>
Spark技术栈
查看>>
日志及参数的乱码问题
查看>>
Python开发简单爬虫
查看>>
克服"水土不服",融云助攻小象直播杀破"出海重围"
查看>>
spring Boot 入门--为什么用spring boot
查看>>
负载均衡
查看>>