第三次学JAVA再学不好就吃翔(part95)--Collections工具类
学习笔记,仅供参考,有错必纠
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工具类相关推荐
- 菜鸟学习笔记:Java提升篇4(容器4——Collections工具类、其他容器)
菜鸟学习笔记:Java容器4--Collections工具类.其他容器 Collections工具类 容器其他知识点 队列Queue Enumeration接口 Hashtable Propertie ...
- 第三次学JAVA再学不好就吃翔(part107)--字符流的拷贝
学习笔记,仅供参考,有错必纠 文章目录 IO流 字符流的拷贝 拷贝纯文本文件 注意事项 自定义字符数组的拷贝 IO流 字符流的拷贝 拷贝纯文本文件 zzz.txt: 安徽财经大学 JAVA代码: pa ...
- 第三次学JAVA再学不好就吃翔(part87)--Arrays工具类的asList方法
学习笔记,仅供参考,有错必纠 Arrays工具类的asList方法 方法概述 public static <T> List<T> asList(T... a) 返回一个受指定数 ...
- 第三次学JAVA再学不好就吃翔(part1)--初识JAVA
学习笔记,仅供参考 初识JAVA JRE与JDK JRE:包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计 ...
- 第三次学JAVA再学不好就吃翔(part106)--字符流
学习笔记,仅供参考,有错必纠 文章目录 IO流 字符流输入流FileReader 字符流是什么 FileReader类构造方法 举个例子 字符流输出流FileWriter FileWriter构造方法 ...
- 第三次学JAVA再学不好就吃翔(part46)--Scanner类
学习笔记,仅供参考 文章目录 Scanner类 Scanner获取数据出现的问题 Scanner类 概述 Scanner是在java.util包下的一个类,使用该类时我们需要导包.这个类被final修 ...
- 第三次学JAVA再学不好就吃翔(part117)--单例设计模式
学习笔记,仅供参考,有错必纠 文章目录 多线程 单例设计模式 饿汉式 懒汉式 第三种格式 Timer类 线程的五种状态 多线程 单例设计模式 单例设计模式,即保证类在内存中只有一个对象,如何保证类在内 ...
- 第三次学JAVA再学不好就吃翔(part109)--LineNumberReader类
学习笔记,仅供参考,有错必纠 IO流 LineNumberReader类 该类继承自java.io.BufferedReader,该类可以跟踪行号的缓冲字符输入流.此类定义了方法 setLineNum ...
- 第三次学JAVA再学不好就吃翔(part108)--带缓冲的字符流
学习笔记,仅供参考,有错必纠 文章目录 IO流 带缓冲的字符流 BufferedReader和BufferedWriter readLine和newLine方法 IO流 带缓冲的字符流 Buffere ...
最新文章
- SuperMap 房产政务协同管理平台
- java oci_java oracle oci方式连接
- python自带ide和pycharm哪个好_排名前三的Python IDE你选择哪个?我选PyCharm
- c语言程序设计 第三版 哈工大,c语言程序设计 哈工大 苏小红 第三章习题
- JAXB注解 java 关于xml的注解,自动生成xml文件 - @XML***
- mysql 5.7.16安装与给远程连接权限
- UltraEdit怎样修改保存默认的后缀文件名
- 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_03-项目概述-技术架构...
- 使用多串口卡后读卡器无法初始化
- 使用python读取excel文件数据,修改dbf文件
- IDEA插件开发指南
- Ubuntu下 UltraEdit 破解/显色
- 这种高逼格的图片效果,居然也可以用PPT制作!
- 又到年底冲刺时,华为小米竞相降价促销
- C语言课题1:猜数字游戏【从基础开始手把手教你】
- [转]电子产品将标环保使用期限
- 使用3D Max里面自带的门,怎么设置动画并预览
- vue.js和vue.main.js下载地址
- 深圳中学因招聘上热搜:名校博士挤破头想进,教学成绩也确实不服不行!
- 站在新的起点上,扬帆起航