Collections

集合框架的工具类,方法全部为静态

Collections与Collection的区别

Collection是集合框架的一个顶层接口,里面定义了单列集合的共性方法

Collections是集合框架的一个工具类,该类中的方法都是静态的,提供的方法中可以对List集合进行排序,二分查找等,通常常用的集合都是线程不安全的,因为要提高效率,如果多线程操作这些集合时,可以通过该工具类的同步方法,将线程不安全的集合转换成安全的

常用方法

对List进行排序

static <T extends Comparable<? super T>>
void

sort(List<T> list)

static <T> void
sort(List<T> list, Comparator<? super T> c)

对List进行二分查找

static <T> int
binarySearch(List<? extends Comparable<? super T>> list, T key)

static <T> int
binarySearch(List<? extends T> list, T key, Comparator<? super T> c)

逆转排序比较器

static <T> Comparator<T>
reverseOrder()

static <T> Comparator<T>
reverseOrder(Comparator<T> cmp)

获取线程安全的集合

static <T> Collection<T>
synchronizedCollection(Collection<T> c)

随机对List方法中的元素进行置换

static void
shuffle(List<?> list)

static void
shuffle(List<?> list, Random rnd)

Arrays

用于操作数组的工具类,里面的方法都是静态的

常用方法

将数组转换成List集合

static <T> List<T>
asList(T... a)

(T… a)为可变参数,写在参数列表的最末尾

将数组转成List集合有何好处

可以使用集合的思想和方法才操作数组

注:

不可以对数组转成的List集合进行增删操作,因为数组的长度是固定的,如果增删,会产生UnsupportedOperationException

如果数组中的元素都是对象,那么变集合时,集合中存储的都是数组中的元素

如果数组中的元素是基本数据类型,那么会将数组作为元素存储在集合中

静态导入

import static java.util.Arrays.*;

导入的是Arrays这个类中的所有静态成员

当类名重名时,需要指定具体的包名

当方法重名时,需要指定具体的对象或类

Java笔记(二十四)……集合工具类Collections&Arrays的更多相关文章

  1. Java从零开始学二十四(集合工具类Collections)

    一.Collections简介 在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合 二 ...

  2. python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法

    python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法window安装redis,下载Redis的压缩包https://git ...

  3. (C/C++学习笔记) 二十四. 知识补充

    二十四. 知识补充 ● 子类调用父类构造函数 ※ 为什么子类要调用父类的构造函数? 因为子类继承父类,会继承到父类中的数据,所以子类在进行对象初始化时,先调用父类的构造函数,这就是子类的实例化过程. ...

  4. Java:集合工具类-Collections

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

  5. java之集合工具类Collections

    Collections类简介 java.utils.Collections 是集合工具类,用来对集合进行操作.此类完全由在 collection 上进行操作或返回 collection 的静态方法组成 ...

  6. 吴裕雄--天生自然java开发常用类库学习笔记:集合工具类Collections

    import java.util.Collections ; import java.util.List ; import java.util.Set ; public class Collectio ...

  7. Java常用类(五)之集合工具类Collections

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

  8. java的集合工具类Collections

    集合框架的工具类. Collections:集合框架的工具类.里面定义的都是静态方法. Collections和Collection有什么区别? Collection是集合框架中的一个顶层接口,它里面 ...

  9. Java笔记(二十五)……其他常用API

    System类 工具类全部都是静态方法 常用方法 获取系统属性信息 static PropertiesgetProperties() static StringgetProperty(String k ...

随机推荐

  1. 解决Twitter Bootstrap Tab URL链接问题

    例如这样的一个Tabs 代码: <ul class="nav nav-tabs" id="myTab"> <li class="ac ...

  2. hdu 5654 xiaoxin and his watermelon candy 树状数组维护区间唯一元组

    题目链接 题意:序列长度为n(1<= n <= 200,000)的序列,有Q(<=200,000)次区间查询,问区间[l,r]中有多少个不同的连续递增的三元组. 思路:连续三元组-& ...

  3. poj 2104 K-th Number 划分树,主席树讲解

    K-th Number Input The first line of the input file contains n --- the size of the array, and m --- t ...

  4. MFC应用程序的开发流程

    (1)根据应用程序特性在"MFC AppWizard[exe]"应用程序向导各步骤对话框进行选择,创建一个应用程序的框架. (2)利用资源编辑器为程序编辑或添加资源,如编辑菜单.添 ...

  5. linux下fflush(stdin)的使用问题

    参考自linux下如何清空(刷新)stdin缓冲区 首先,fflush在C/C++/POSIX标准中只定义了处理输出流的行为,对于像stdin这种输入流,这是未定义行为undefined behavi ...

  6. Unity3d 调用C++的DLL

    原地址:http://www.cnblogs.com/alongu3d/archive/2013/04/20/3031904.html Unity 3D 调用DLL的方法 本文转载:渡蓝的博客园 ht ...

  7. UVA 10269 Adventure of Super Mario

    看了这里 http://blog.csdn.net/acm_cxlove/article/details/8679230的分析之后自己又按照自己的模板写了一遍,算是对spfa又加深了一步认识(以前真是 ...

  8. easyui源码翻译1.32--ValidateBox(验证框)

    前言 使用$.fn.validatebox.defaults重写默认值对象.下载该插件翻译源码 validatebox(验证框)的设计目的是为了验证输入的表单字段是否有效.如果用户输入了无效的值,它将 ...

  9. free 命令解释

    free 命令 buffers and cached 解释 N多人总是询问,当在linux在输入free时内存总数怎么加起来不一样啊,下面我来解释一下free命令的输出. 我们运行free命令时都会看 ...

  10. 多设备官方教程(6)控制多版本API

    Supporting Different Platform Versions While the latest versions of Android often provide great APIs ...