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。

操作集合的工具类Collections的更多相关文章

  1. java之操作集合的工具类--Collections

    Collections是一个操作Set.List和Map等集合的工具类. Collections中提供了大量方法对集合元素进行排序.查询和修改等操作,还提供了对集合对象设置不可变.对集合对象实现同步控 ...

  2. Java-集合第六篇操作集合的工具类Collections

    1.Java提供了一个操作Set.List.Map等集合的工具类:Collections. 工具类中提供的方法主要针对Set.List.Map的排序.查询.修改等操作,以及将集合对象设置为不可变.对集 ...

  3. 操作集合的工具类:Collections

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

  4. JAVA基础学习之 Map集合、集合框架工具类Collections,Arrays、可变参数、List和Set集合框架什么时候使用等(4)

    package com.itcast.test20140113; import java.util.ArrayList; import java.util.Arrays; import java.ut ...

  5. java基础37 集合框架工具类Collections和数组操作工具类Arrays

    一.集合框架工具类:Collections 1.1.Collections类的特点 该工具类中所有的方法都是静态的 1.2.Collections类的常用方法 binarySearch(List< ...

  6. Java 集合的工具类Collections的常用方法

    Collections类 java.utils.Collections是集合工具类,用来对集合进行操作. Collections类的常用方法 这里介绍四个常用方法: addAll(Collection ...

  7. java集合框架工具类Collections,集合的操作

    1 import java.util.*; public class asList { public static void main(String args[]) { // int arr[] = ...

  8. 集合框架工具类--Collections排序

    package ToolCollectionsDemo; import java.util.ArrayList; import java.util.Collections; import java.u ...

  9. Java:集合工具类-Collections

    Java.util.Collections 集合框架工具类Collections,其方法都是静态的,本身没有构造函数. 常见方法: static <T extends Comparable< ...

随机推荐

  1. Android———从GitHub上下载源码的方法【Written By KillerLegend】

    首先声明,本文说的是从GitHub上下载源码而非上传源码! 1:下载tortoisegit,下载地址为: https://code.google.com/p/tortoisegit/wiki/Down ...

  2. java中4中类修饰符访问范围

    public:本类中可见,同包中可见,子类中可见,其他包中可见. protected:本类中可见,同包中可见,子类中可见,其他包不可见. 默认:本类中可见,同包中可见,子类不可见,其他包不可见. pr ...

  3. DevExpress GridControl 部分用法

    1.GridControl赋值:this.GridControl1.DataSouce=dt; 2.GridContro总合计及分组合计: 常规总合计直接RunDesigner-Group Summa ...

  4. pandas聚合和分组运算——GroupBy技术(1)

    数据聚合与分组运算——GroupBy技术(1),有需要的朋友可以参考下. pandas提供了一个灵活高效的groupby功能,它使你能以一种自然的方式对数据集进行切片.切块.摘要等操作.根据一个或多个 ...

  5. 在linux下安装Mongodb

    1.到官网下载源码:mongodb-linux-x86_64-rhel55-3.2.4.gz 2.安装 创建用户组.用户.目录 [root@hadoop1 ~]# groupadd mongodb [ ...

  6. Oracle DB 分区特性概述 Overview of Partitions

    概述:在Oracle数据库中,分区(partitioning)可以使非常大的表(table)或索引(index)分解为小的易管理的块(pieces),这些块被称作分区(partitions).每个分区 ...

  7. Java入门到精通——开篇

    本系列博客大体框架构思了一段时间了,本系列博客包含了对现有知识的总结也有对未来知识的展望.        本系列博客包括七大部分如下: 第一部分  Java基础应用 讲述JAVA的基础从以下几方面讲述 ...

  8. qu

    离骚 (3481人评分) 8.5   朝代:先秦 作者:屈原 原文: 帝高阳之苗裔兮,朕皇考曰伯庸.摄提贞于孟陬兮,惟庚寅吾以降.皇览揆余初度兮,肇锡余以嘉名:名余曰正则兮,字余曰灵均.纷吾既有此内美 ...

  9. LD_PRELOAD

    下面的helloworld会在屏幕上打印出什么内容? 1 2 3 4 5 6 #include <stdio.h> int main(int argc, char* argv[], cha ...

  10. Swift Tips - 在 Swift 中自定义下标访问

    Untitled Document.md input[type="date"].form-control,.input-group-sm>input[type="d ...