Collections 类来源于 java.util.Collections,从 java.lang.object继承.

  此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。它包含在 collection 上操作的多态算法,即“包装器”,包装器返回由指定 collection 支持的新 collection,以及少数其他内容。如果为此类的方法所提供的 collection 或类对象为 null,则这些方法都将抛出 NullPointerException

  类  java.util.Collections (不是 Collection 的接口)提供了一些静态方法,这些方法实现了基于容器接口(Set、Link、Map)的一些常用方法

  1. void sort(List<?> list) :对指定列表 List 容器内的进行排序;

  2. void shuffle(List<?> list):对指定列表 List 容器内的对象进行随机排列;

  3. void reverse(List<?> list):对指定列表 List 容器内的对象进行逆序排列;

  4. void fill(List<? > list,  object):用一个特定的对象重写整个list容器;

  5. void copy(List<?> dest,  List<? > src):将所有元素从一个列表复制到另一个列表;

  6. synchronizedCollection(Collection<T> c):返回指定 collection 支持的同步(线程安全的)collection。为了保证按顺序访问,必须通过返回的 collection 完成所有对底层实现 collection 的访问;

  7. synchronizedList(List<T> list):返回指定列表支持的同步(线程安全的)列表;

        List list = Collections.synchronizedList(new ArrayList());
          ...
        synchronized(list) {
            Iterator i = list.iterator(); // Must be in synchronized block
            while (i.hasNext())
                 foo(i.next());
         }

Demo_1:

class Test {
public static void main(String[] args) {
LinkedList<String> l1 = new LinkedList<String>();
for(int i=0;i<=9;i++){
l1.add("a"+i);
}
System.out.println(l1); // 输出: [a0, a1, a2, a3, a4, a5, a6, a7, a8, a9]
Collections.shuffle(l1); // 随机排列
System.out.println(l1); // 输出:[a4, a7, a6, a3, a5, a0, a8, a2, a1, a9]
Collections.reverse(l1); // 逆序排列
System.out.println(l1); // 输出:[a9, a1, a2, a8, a0, a5, a3, a6, a7, a4]
Collections.sort(l1); // 排序
System.out.println(l1); // 输出:[a0, a1, a2, a3, a4, a5, a6, a7, a8, a9]
System.out.println(Collections.binarySearch(l1, "a4")); // 折半查找输出:4
}
}

Java容器之Collections的更多相关文章

  1. Java 容器之Hashset 详解

    Java 容器之Hashset 详解.http://blog.csdn.net/nvd11/article/details/27716511

  2. Java并发编程--并发容器之Collections

    在JDK1.2之前同步容器类包括Vector.Hashtable,这两个容器通过内置锁synchronized保证了同步.后面的ArrayList.LinkedList.HashMap.LinkedH ...

  3. Java 容器之 Connection栈队列及一些常用

    集合家族图 ---|Collection: 单列集合 ---|List: 有存储顺序 , 可重复 ---|ArrayList: 数组实现 , 查找快 , 增删慢 ---|LinkedList: 链表实 ...

  4. Java容器之HashMap源码分析

    在java的容器框架中,hashMap是最常用的容器之一,下面我们就来深入了解下它的数据结构和实现原理 先看下HashMap的继承结构图 下面针对各个实现类的特点进行下说明:1)HashMap: 它是 ...

  5. Java容器之旅:容器基础知识总结

    下图展示了Java容器类库的完备图,包括抽象类和遗留构件(不包括Queue的实现). 常用的容器用黑色粗线框表示,点线框表示接口,虚线框表示抽象类,实线框表示类,空心箭头表示实现关系.Produce表 ...

  6. Java容器之Map接口

    Map 接口: 1. 实现 Map 接口的类是用来存储键-值(key-value)对: 2. Map 接口的实现类有 HashMap 和 TreeMap 等: 3. Map 类中存储的键-值对,通过键 ...

  7. Java容器之List接口

    List 接口: 1. List 接口是 Collection 的子接口,实现 List 接口的容器类中的元素是有顺序的,而且可以重复: 2. List 容器中的元素都对应一个整数型的序号记载其在容器 ...

  8. Java容器之Iterator接口

    Iterator 接口: 1. 所有实现了Collection接口的容器类都有一个iterator方法用以返回一个实现了Iterator接口的对象. 2. Iterator 对象称作迭代器,用以方便的 ...

  9. Java容器之Set接口

    Set 接口: 1. Set 接口是 Collection 的子接口,Set 接口没有提供额外的方法,但实现 Set 接口的容器类中的元素是没有顺序的,且不可以重复: 2. Set 容器可以与数学中的 ...

随机推荐

  1. [翻译]Hystrix wiki–Home

    注:本文并非是精确的文档翻译,而是根据自己理解的整理,有些内容可能由于理解偏差翻译有误,有些内容由于是显而易见的,并没有翻译,而是略去了.本文更多是学习过程的产出,请尽量参考原官方文档. 什么是Hys ...

  2. 面试:Hbase和Hive的区别

    区别: 1. Hive是一个构建在Hadoop基础设施之上的数据仓库,通过HQL查询存放在HDFS上的数据,不能交互查询.HBase是一种Key/Value系统,它运行在HDFS之上,可以交互查询. ...

  3. python--模块之sys与python解释器交互模块

    作用:sys模块是与python解释器交互的一个接口.它提供了一系列有关python运行环境的变量和函数. 常用函数:import sys sys.argv #命令行参数list,第一个元素是程序本身 ...

  4. SAS中的宏语言

    一.sas 宏变量 1) 宏变量属于SAS宏语言,与普通变量的区别是可以独立于DATA步 2) 可以再SAS程序中除数据行之外的任何地方定义并使用宏变量 3) %let语句定义宏变量并分配一个值给宏变 ...

  5. 为什么我要放弃javaScript数据结构与算法(第十一章)—— 算法模式

    本章将会学习递归.动态规划和贪心算法. 第十一章 算法模式 递归 递归是一种解决问题的方法,它解决问题的各个小部分,直到解决最初的大问题.递归通常涉及函数调用自身. 递归函数是像下面能够直接调用自身的 ...

  6. WPF 自定义ProgressBar滚动条样式

    一.前言 滚动条一般用于加载进度,我们在看视频的时候或者在浏览网页的时候经常能看到加载进度的页面.在程序开发中,默认的进度加载样式可能跟程序风格不太一样,或者加载进度的时候需要更改一下加载的样式.这个 ...

  7. 全国各大城市Uber客服联系方式(电话、邮箱、微博)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  8. element-ui 分页注意事项

    <template> <div id="monitor"> 一页显示 {{currentCount}}条 当前第 {{currentPage}}页 < ...

  9. 只需两步,rails支持CSV格式导出

    一.Controller最上方添加 require 'csv' 二.方法里面添加 format.csv do csv_string = CSV.generate do |csv| csv <&l ...

  10. MySQL高级-showProfile

    一.Show Profile是什么? 是MySql提供可以用来分析当前会话中语句执行的资源消耗情况,可以用于SQL的调优的测量. 默认情况下,参数处于关闭状态,并保存最近15次的运行结果. 二.分析步 ...