博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
唠唠SE的集合-10——Collections工具类
阅读量:6322 次
发布时间:2019-06-22

本文共 3745 字,大约阅读时间需要 12 分钟。

hot3.png

10. Collections

集合的工具类,包含很多实用的方法

1,对list进行二分查找:前提该集合一定要有序。

int binarySearch(list,key);

//必须根据元素自然顺序对列表进行升级排序

//要求list 集合中的元素都是Comparable 的子类。

int binarySearch(list,key,Comparator);

import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Test {    public static void main(String[] args) {        List
list = new ArrayList
(); list.add(5); list.add(741); list.add(456); list.add(123); list.add(19); Collections.sort(list); // 保证集合有序 System.out.println(Collections.binarySearch(list, 19)); // 1 System.out.println(Collections.binarySearch(list, 741)); // 4 System.out.println(Collections.binarySearch(list, 0)); // -1 }}

2,对list集合进行排序。

sort(list);

//对list进行排序,其实使用的事list容器中的对象的compareTo方法

sort(list,comaprator);

//按照指定比较器的比较规则进行排序

import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Test {    public static void main(String[] args) {        List
list = new ArrayList
(); list.add(5); list.add(741); list.add(456); list.add(123); list.add(19); System.out.println(list); // [5, 741, 456, 123, 19] Collections.sort(list); // 升序排序 System.out.println(list); // [5, 19, 123, 456, 741] }}

3,对集合取最大值或者最小值。

max(Collection)

max(Collection,comparator)

min(Collection)

min(Collection,comparator)

import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Test {    public static void main(String[] args) {        List
list = new ArrayList
(); list.add(5); list.add(741); list.add(456); list.add(123); list.add(19); System.out.println(Collections.max(list)); // 741 }}

4,对list集合进行反转。

reverse(list);

import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Test {    public static void main(String[] args) {        List
list = new ArrayList
(); list.add(5); list.add(741); list.add(456); list.add(123); list.add(19); System.out.println(list); // [5, 741, 456, 123, 19] Collections.reverse(list); // 翻转 System.out.println(list); // [19, 123, 456, 741, 5] }}

5,对比较方式进行强行逆转。

Comparator reverseOrder();

Comparator reverseOrder(Comparator);

6,对list集合中的元素进行位置的置换。

swap(list,x,y);

import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Test {    public static void main(String[] args) {        List
list = new ArrayList
(); list.add(5); list.add(741); list.add(456); list.add(123); list.add(19); System.out.println(list); // [5, 741, 456, 123, 19] Collections.swap(list, 2, 4); System.out.println(list); // [5, 741, 19, 123, 456] }}

7,对list集合进行元素的替换。

如果被替换的元素不存在,那么原集合不变。

replaceAll(list,old,new);

import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Test {    public static void main(String[] args) {        List
list = new ArrayList
(); list.add(5); list.add(741); list.add(456); list.add(123); list.add(19); System.out.println(list); // [5, 741, 456, 123, 19] Collections.replaceAll(list, 5, 6); System.out.println(list); // [6, 741, 19, 123, 456] Collections.replaceAll(list, 7, 8); System.out.println(list); // [6, 741, 19, 123, 456] }}

8,可以将不同步的集合变成同步的集合。

Set synchronizedSet(Set<T> set)

Map synchronizedMap(Map<K,V> map)

List synchronizedList(List<T> list)

 

 

转载于:https://my.oschina.net/LinkedBear/blog/1616033

你可能感兴趣的文章
cookies/session/token
查看>>
清除代码异味
查看>>
【转】从知乎上看到“全栈开发者”讨论之后的自黑
查看>>
Java-IO流
查看>>
Linux入门-6 Linux网络基本配置
查看>>
洗礼灵魂,修炼python(22)--自定义函数(3)—函数作用域,闭包
查看>>
newcoder Tachibana Kanade Loves Probability(小数点后第k位)题解
查看>>
vue项目未加载完成前显示loading...
查看>>
windows 与linux 下用C++读取sqlite实现文件复制(一)
查看>>
IOS 5 中为什么outlet 输出口总是设定成弱类型(weak)呢
查看>>
Read-Copy Update (RCU)
查看>>
基于centos系统,系统基本检查及巩固
查看>>
在以太坊上如何取消/修改已经提交的交易
查看>>
Android IOS WebRTC 音视频开发总结(十九)-- kurento
查看>>
reshape2 数据操作 数据融合( cast)
查看>>
第一章、关于SQL Server数据库的备份和还原(sp_addumpdevice、backup、Restore)
查看>>
八、主从复制
查看>>
深入理解RunLoop 整理资料
查看>>
LabVIEW将字符串转化为十进制
查看>>
欢迎光临
查看>>