java 集合Collections 工具类:排序,查找替换。Set、List、Map 的of方法创建不可变集合
Collections 工具类
用法:直接调用Collections.静态方法(<集合对象>)
Collections排序操作
- void reverse(List list): 反转指定 ist 集合中元素的顺序
- void shuffie(List list): 对List集合元素进行随机排序 (shuffie方法模拟了"洗牌"动作)
- void sort(List list): 据元素的自然顺序对指定list集合的元素按升序进行排序。
- void sort(List list, Comparator c): 根据指定 Comparator 产生的顺序对 List 集合元素进行排序
- void swap(List list, int i, int j): 将指定 List 集合中的i处元素和j处元素进行交换。
- void rotate(List list , int distance): distance为正数时,将 list 集合的后 distance 个元素"整体",移到前面:当 distance 为负数时,将 list 集合的前 distance 个元素"整体"移到后面 该方法不会改变集合的长度。
public static void main(String[] args) {
List list = new ArrayList();
list.add(3);
list.add(1);
list.add(7);
list.add(5);
// list.sort(((o, t1) -> (int)t1 - (int)o));
// System.out.println(list);
Collections.reverse(list);
System.out.println(list);
Collections.sort(list);
System.out.println(list);
}
查找替换操作:
- int binarySearch(List list, Object key): 使用二分搜索法搜索指定的 List集合,以获得指定对象在List集合中的索引。如果要使该方法可以正常工作,则必须保list中的元素己经处于有序状态。
- Object max(Collection coll): 根据元素的自然顺序,返回给定集合中的最大元素。
- Object max(Col1ection coll, Comparator comp): Comparator 定的顺序,返回给定集合中的最大元素
- Object min(Col1ection coll) 根据元素的自然顺序,返回给定集合中的最小元素
- Object min(Col1ection coll, Comparator comp): 根据 Comparator 定的顺序,返回给定集合中的最小值
- void fill(List list, Object obj): 使用指定元素 obj 替换指定 List 集合中的所有元素
- int frequer(Collection c, Object o): 返回指定集合中指定元素的出现次数
- int indexOfSubList(List source, List target) 返回子List对象在父 List对象中第一次出现的位置索, 如果父List中没有没有出现这样的子List那么返回-1
- int lastIndexOfSubList(List source, List target): 返回子List对象在父List对象中最后一次出现位置索引 ;如果List中没有出现这样的子List ,则返回 -1
- boolean replaceAll(List list, Object oldVal, Object newVal) 使用 个新值newVal替换 List 对象的所有旧值oldVal
List list = new ArrayList();
list.add(3);
list.add(1);
list.add(7);
list.add(5);
Collections.sort(list);
Collections.replaceAll(list,7,8);
System.out.println(list); //[1, 3, 5, 8]
其他操作
- void addAll(list,"zz","ff","aa","bb","cc"); 向集合中添加若干元素
- void synchronizedList(list); 把不是线程安全的集合转换为线程安全的
java9新增的不可变集合:Set、List、Map 的of方法创建
List list = List.of("Java", "Php", "Python", "Golang", "cpp");
System.out.println(list);
Set set = Set.of("Java", "Php", "Python", "Golang", "cpp");
System.out.println(set);
Map map = Map.of("语文",80,"数学","98","政治","89");
System.out.println(map);
Map map1 = Map.ofEntries(
Map.entry("语文",80),
Map.entry("数学",98)
);
System.out.println(map1);
map1.put("政治",98);//UnsupportedOperationException
//1、向集合中添加若干元素
List<String> list = new ArrayList<>();
Collections.addAll(list,"zz","ff","aa","bb","cc");
System.out.println(list);
//3、Collections.synchronizedXXX(xxx)把不是线程安全的集合转换为线程安全的
List<String> synchronizedList = Collections.synchronizedList(list);
System.out.println(synchronizedList);
//1、向集合中添加若干元素
List<String> list = new ArrayList<>();
Collections.addAll(list,"zz","ff","aa","bb","cc");
System.out.println(list);
//2、对List排序,在JDK7之前排序
Collections.sort(list);
System.out.println(list);
//2.1排序可以指定排序方法
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o2.compareTo(o1);
}
});
System.out.println(list);
//3、Collections.synchronizedXXX(xxx)把不是线程安全的集合转换为线程安全的
List<String> synchronizedList = Collections.synchronizedList(list);
System.out.println(synchronizedList);
java 集合Collections 工具类:排序,查找替换。Set、List、Map 的of方法创建不可变集合的更多相关文章
- Java集合——Collections工具类
Java集合——Collections工具类 摘要:本文主要学习了Collections工具类的常用方法. 概述 Collections工具类主要用来操作集合类,比如List和Set. 常用操作 排序 ...
- Java中的集合Collections工具类(六)
操作集合的工具类Collections Java提供了一个操作Set.List和Map等集合的工具类:Collections,该工具类里提供了大量方法对集合元素进行排序.查询和修改等操作,还提供了将集 ...
- Java 之 Collections 工具类
一.Collections 概述 java.utils.Collections 是集合工具类,用来对集合进行操作. 二.常用方法 public static <T> boolean add ...
- Java 集合-Collections工具类
2017-11-05 23:41:53 Collections类 Collections类:Collections类是针对集合进行操作的工具类,都是静态方法. 常用方法: public static ...
- JAVA基础补漏--Collections工具类排序
Collections在对自定义对象进行排序时,自定义类需要对compareTo()函数进行重写. public class Student implements Comparable<Stud ...
- 集合框架-工具类-Collections-逆序替换
1 package cn.itcast.p2.toolclass.collections.demo; 2 3 import java.util.ArrayList; 4 import java.uti ...
- 线程高级应用-心得8-java5线程并发库中同步集合Collections工具类的应用及案例分析
1. HashSet与HashMap的联系与区别? 区别:前者是单列后者是双列,就是hashmap有键有值,hashset只有键: 联系:HashSet的底层就是HashMap,可以参考HashSe ...
- thinking in java之Collections工具类的使用
代码摘自<thinking in java>4td 此实例非常好的总结了Collections的一些常见方法的使用. package countainers; import java.ut ...
- Java:集合,Collections工具类用法
Collections工具类提供了大量针对Collection/Map的操作,总体可分为四类,都为静态(static)方法: 1. 排序操作(主要针对List接口相关) reverse(List li ...
随机推荐
- Go IF 条件语句
条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句. 以下是在大多数编程语言中发现的典型条件语句的一般形式 ...
- 2021.9.30 Codeforces 中档题四道
Codeforces 1528D It's a bird! No, it's a plane! No, it's AaParsa!(*2500) 考虑以每个点为源点跑一遍最短路,每次取出当前距离最小的 ...
- CF1156F Card Bag
题目传送门. 题意简述:有 \(n\) 张卡牌,每张卡牌有数字 \(a_1,a_2,\cdots,a_n\).现在随机抽取卡牌,不放回,设本次抽到的卡牌为 \(x\),上次抽到的卡牌为 \(y\),若 ...
- doxygen相关命令
主要配置修改 整个程序配置分几个部分 Project related configuration options 项目相关,包括: 项目名 输出目录 输出语言 是否显示继承属性 是否对C.Java.F ...
- MYSQL5.8-----3
666666666666666666666666 如多带有通配符的,要使用一下格式 select * from user where usename like "%1\%" ESC ...
- 54. Flatten Binary Tree to Linked List
Flatten Binary Tree to Linked List My Submissions QuestionEditorial Solution Total Accepted: 81373 T ...
- Google服务器架构图解简析
无疑是互联网时代最闪亮的明星.截止到今天为止,Google美国主站在Alexa排名已经连续3年第一,Alexa Top100中,各国的Google分站竟然霸占了超过20多个名额,不得不令人感叹Goog ...
- 疯了吧!这帮人居然用 Go 写“前端”?(一)
作者 | 郑嘉涛(羣青) 来源 | 尔达 Erda 公众号 无一例外,谈到前后端分离"必定"是 RESTful API,算是定式了.但我们知道 REST 在资源划分上的设计总是 ...
- 前端知识,什么是BFC?
BFC全称是Block Formatting Context,即块格式化上下文.它是CSS2.1规范定义的,关于CSS渲染定位的一个概念.要明白BFC到底是什么,首先来看看什么是视觉格式化模型. 视觉 ...
- GO 定时器NewTimer、NewTicker使用
package main import ( "fmt" "sync" "time" ) /** *ticker只要定义完成,从此刻开始计时, ...