学习笔记,仅供参考,有错必纠


Collections工具类

该类完全由在collection上进行操作或返回 collection 的静态方法组成,它包含在 collection上操作的多态算法,即"包装器",包装器返回由指定collection支持的新collection,以及少数其他内容。

很好,我没大听懂啥意思,但大致意思是这个类中都是静态方法。

而且它是一个针对集合操作的工具类。

成员方法

  • sort
public static <T extends Comparable<? super T>> void sort(List<T> list)

根据元素的自然顺序对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable接口。

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

使用二分搜索法搜索指定列表,以获得指定对象。在进行此调用之前,必须根据列表元素的自然顺序对列表进行升序排序(通过 sort(List) 方法)。如果没有对列表进行排序,则结果是不确定的。如果列表包含多个等于指定对象的元素,则无法保证找到的是哪一个。如果搜索键包含在列表中,则返回搜索键的索引,否则返回 -(插入点) - 1

  • max
public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)

根据元素的自然顺序,返回给定 collection 的最大元素,collection中的所有元素都必须实现Comparable 接口。此外,collection中的所有元素都必须是可相互比较的,也就是说,对于collection中的任意 e1 和 e2 元素,e1.compareTo(e2) 不得抛出 ClassCastException

  • reverse
public static void reverse(List<?> list)

反转指定列表中元素的顺序。

  • shuffle
public static void shuffle(List<?> list)

使用默认随机源对指定列表进行置换,所有置换发生的可能性都是大致相等的。

举个例子

输入:

package com.guiyang.restudy3;import java.util.ArrayList;
import java.util.Collections;public class D1Collections {public static void main(String[] args) {demo1();System.out.println("-------");demo2();System.out.println("-------");ArrayList<String> list = new ArrayList<>();list.add("a");list.add("c");list.add("d");list.add("g");list.add("f");System.out.println(Collections.max(list));             //根据默认排序结果获取集合中的最大值//Collections.reverse(list);                         //反转集合Collections.shuffle(list);                                //随机置换,可以用来洗牌System.out.println(list);}public static void demo2() {ArrayList<String> list = new ArrayList<>();list.add("a");list.add("c");list.add("d");list.add("f");list.add("g");System.out.println(Collections.binarySearch(list, "c"));System.out.println(Collections.binarySearch(list, "b"));}public static void demo1() {ArrayList<String> list = new ArrayList<>();list.add("c");list.add("a");list.add("a");list.add("b");list.add("d");System.out.println(list);Collections.sort(list);                        //将集合排序System.out.println(list);}
}

输出:

[c, a, a, b, d]
[a, a, b, c, d]
-------
1
-2
-------
g
[c, a, f, d, g]

第三次学JAVA再学不好就吃翔(part95)--Collections工具类相关推荐

  1. 菜鸟学习笔记:Java提升篇4(容器4——Collections工具类、其他容器)

    菜鸟学习笔记:Java容器4--Collections工具类.其他容器 Collections工具类 容器其他知识点 队列Queue Enumeration接口 Hashtable Propertie ...

  2. 第三次学JAVA再学不好就吃翔(part107)--字符流的拷贝

    学习笔记,仅供参考,有错必纠 文章目录 IO流 字符流的拷贝 拷贝纯文本文件 注意事项 自定义字符数组的拷贝 IO流 字符流的拷贝 拷贝纯文本文件 zzz.txt: 安徽财经大学 JAVA代码: pa ...

  3. 第三次学JAVA再学不好就吃翔(part87)--Arrays工具类的asList方法

    学习笔记,仅供参考,有错必纠 Arrays工具类的asList方法 方法概述 public static <T> List<T> asList(T... a) 返回一个受指定数 ...

  4. 第三次学JAVA再学不好就吃翔(part1)--初识JAVA

    学习笔记,仅供参考 初识JAVA JRE与JDK JRE:包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计 ...

  5. 第三次学JAVA再学不好就吃翔(part106)--字符流

    学习笔记,仅供参考,有错必纠 文章目录 IO流 字符流输入流FileReader 字符流是什么 FileReader类构造方法 举个例子 字符流输出流FileWriter FileWriter构造方法 ...

  6. 第三次学JAVA再学不好就吃翔(part46)--Scanner类

    学习笔记,仅供参考 文章目录 Scanner类 Scanner获取数据出现的问题 Scanner类 概述 Scanner是在java.util包下的一个类,使用该类时我们需要导包.这个类被final修 ...

  7. 第三次学JAVA再学不好就吃翔(part117)--单例设计模式

    学习笔记,仅供参考,有错必纠 文章目录 多线程 单例设计模式 饿汉式 懒汉式 第三种格式 Timer类 线程的五种状态 多线程 单例设计模式 单例设计模式,即保证类在内存中只有一个对象,如何保证类在内 ...

  8. 第三次学JAVA再学不好就吃翔(part109)--LineNumberReader类

    学习笔记,仅供参考,有错必纠 IO流 LineNumberReader类 该类继承自java.io.BufferedReader,该类可以跟踪行号的缓冲字符输入流.此类定义了方法 setLineNum ...

  9. 第三次学JAVA再学不好就吃翔(part108)--带缓冲的字符流

    学习笔记,仅供参考,有错必纠 文章目录 IO流 带缓冲的字符流 BufferedReader和BufferedWriter readLine和newLine方法 IO流 带缓冲的字符流 Buffere ...

最新文章

  1. SuperMap 房产政务协同管理平台
  2. java oci_java oracle oci方式连接
  3. python自带ide和pycharm哪个好_排名前三的Python IDE你选择哪个?我选PyCharm
  4. c语言程序设计 第三版 哈工大,c语言程序设计 哈工大 苏小红 第三章习题
  5. JAXB注解 java 关于xml的注解,自动生成xml文件 - @XML***
  6. mysql 5.7.16安装与给远程连接权限
  7. UltraEdit怎样修改保存默认的后缀文件名
  8. 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_03-项目概述-技术架构...
  9. 使用多串口卡后读卡器无法初始化
  10. 使用python读取excel文件数据,修改dbf文件
  11. IDEA插件开发指南
  12. Ubuntu下 UltraEdit 破解/显色
  13. 这种高逼格的图片效果,居然也可以用PPT制作!
  14. 又到年底冲刺时,华为小米竞相降价促销
  15. C语言课题1:猜数字游戏【从基础开始手把手教你】
  16. [转]电子产品将标环保使用期限
  17. 使用3D Max里面自带的门,怎么设置动画并预览
  18. vue.js和vue.main.js下载地址
  19. 深圳中学因招聘上热搜:名校博士挤破头想进,教学成绩也确实不服不行!
  20. 站在新的起点上,扬帆起航

热门文章

  1. scala能进入交互模式但是无法执行本地文件、长时间卡住的问题
  2. gitkraken把github上的东西clone到本地
  3. NLP, 知识图谱参考资源
  4. ios 数字键盘左下角添加按钮_iOS8数字键盘加左下角完成button
  5. android10唯一识别,Android 10 如何获取唯一值?
  6. oracle 查询数据库io,理解Oracle中的并行查询IO
  7. 文件的上传和下载---学习笔记
  8. 安装oracle后,电脑变卡变慢的解决办法
  9. es6中新增对象的特性和方法
  10. 美国国会针对中国的网络间谍行动展开辩论