Java集合——Collections工具类
Java集合——Collections工具类
摘要:本文主要学习了Collections工具类的常用方法。
概述
Collections工具类主要用来操作集合类,比如List和Set。
常用操作
排序(sort方法)
使用Collections工具类里的sort()方法进行排序,必须满足下列任意一个条件:
第一种是List中的存储的元素实现Comparable接口,重写compareTo()方法。
第二种是在使用sort方法时,传入一个Comparator的实现类,重写compareTo()方法。
测试代码如下:
List<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(5);
list.add(1);
System.out.println(list);
Collections.sort(list);
System.out.println(list);
运行结果如下:
[3, 5, 1]
[1, 3, 5]
反转(reverse方法)
将集合里元素的顺序进行反转。
测试代码如下:
List<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(5);
list.add(1);
System.out.println(list);
Collections.reverse(list);
System.out.println(list);
运行结果如下:
[3, 5, 1]
[1, 5, 3]
混排(shuffle方法)
对集合里的元素进行随机排序。
测试代码如下:
List<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(5);
list.add(1);
System.out.println(list);
Collections.shuffle(list);
System.out.println(list);
运行结果如下:
[3, 5, 1]
[3, 1, 5]
最大(max方法)
查找集合中最大的一个元素。
测试代码如下:
List<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(5);
list.add(1);
System.out.println(list);
Integer max = Collections.max(list);
System.out.println(max);
最小(min方法)
查找集合中最小的一个元素。
测试代码如下:
List<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(5);
list.add(1);
System.out.println(list);
Integer min = Collections.min(list);
System.out.println(min);
查找(binarySearch方法)
查找方法只能调用顺序的集合,返回元素的索引。
测试代码如下:
List<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(5);
list.add(1);
System.out.println(list);
Integer index = Collections.binarySearch(list, 5);
System.out.println(index);
替换(replaceAll方法)
替换指定元素为某元素,若要替换的值存在刚返回true,反之返回false。
List<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(5);
list.add(1);
System.out.println(list);
Collections.replaceAll(list, 5, 7);
System.out.println(list);
操作容器
创建线程安全的List
List<Integer> list = Collections.synchronizedList(new ArrayList<Integer>());
创建线程安全的Set
Set<Integer> set = Collections.synchronizedSet(new HashSet<Integer>());
创建线程安全的Map
Map<String, Integer> map = Collections.synchronizedMap(new HashMap<String, Integer>());
Java集合——Collections工具类的更多相关文章
- java 集合Collections 工具类:排序,查找替换。Set、List、Map 的of方法创建不可变集合
Collections 工具类 Java 提供1个操作 Set List Map 等集合的工具类 Collections ,该工具类里提供了大量方法对集合元素进行排序.查询和修改等操作,还提供了将集合 ...
- Java 集合-Collections工具类
2017-11-05 23:41:53 Collections类 Collections类:Collections类是针对集合进行操作的工具类,都是静态方法. 常用方法: public static ...
- Java中的集合Collections工具类(六)
操作集合的工具类Collections Java提供了一个操作Set.List和Map等集合的工具类:Collections,该工具类里提供了大量方法对集合元素进行排序.查询和修改等操作,还提供了将集 ...
- Java 之 Collections 工具类
一.Collections 概述 java.utils.Collections 是集合工具类,用来对集合进行操作. 二.常用方法 public static <T> boolean add ...
- Java集合----Collection工具类
Collections 工具类 Collections 是一个操作 Set.List 和 Map 等集合的工具类 Collections 中提供了大量方法对集合元素进行排序.查询和修改等操作,还提供了 ...
- Java 集合的工具类Collections的常用方法
Collections类 java.utils.Collections是集合工具类,用来对集合进行操作. Collections类的常用方法 这里介绍四个常用方法: addAll(Collection ...
- java集合框架——工具类
一.概述 JAVA集合框架中有两个很重要的工具类,一个是Collections,另一个是Arrays.分别封装了对集合的操作方法和对数组的操作方法,这些操作方法使得程序员的开发更加高效. public ...
- Java 集合框架工具类
Collections Arrays Collections 集合框架的工具类, 里面的方法都是静态的, 可以直接使用类名调用 常用方法 1. sort(List<T> list); // ...
- 线程高级应用-心得8-java5线程并发库中同步集合Collections工具类的应用及案例分析
1. HashSet与HashMap的联系与区别? 区别:前者是单列后者是双列,就是hashmap有键有值,hashset只有键: 联系:HashSet的底层就是HashMap,可以参考HashSe ...
随机推荐
- 我的Python分析成长之路6
模块:本质就是.py结尾的文件.从逻辑上组织python代码. 包: 本质就是一个目录,带有__init__.py文件,从逻辑上组织模块. 模块的分类: 1.标准库(内置的模块) 2.开源库(第三方库 ...
- 转载:使用Pandas进行数据匹配
使用Pandas进行数据匹配 本文转载自:蓝鲸的网站分析笔记 原文链接:使用Pandas进行数据匹配 目录 merge()介绍 inner模式匹配 lefg模式匹配 right模式匹配 outer模式 ...
- 前端之bootstrap
一.响应式介绍 众所周知,电脑.平板.手机的屏幕是差距很大的,假如在电脑上写好了一个页面,在电脑上看起来不错,但是如果放到手机上的话,那可能就会乱的一塌糊涂,这时候怎么解决呢?以前,可以再专门为手机定 ...
- Linux学习-备份的种类、频率与工具的选择
完整备份之累积备份 (Incremental backup) 还原的考虑 如果是完整备份的话.若硬件出问题导致系统损毁时,只要将完整备份拿出来,整个给他倾倒回去硬盘, 所有事情就搞定了!有些时候 (例 ...
- 函数名&函数名取地址
有时看到如下的代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 /*****************************/ #includ ...
- Linux权限和指令的关系
1.让用户能进入某目录称为”可工作目录“的基本权限为何: 可使用的指令:例如cd等变换工作目录的指令: 目录所需权限:用户对这个目录至少需要具有x的权限 额外需求:如果用户想要在这个目录内利用ls查阅 ...
- [python 测试框架学习篇] 分享 uiautomator测试框架
uiautomator测试框架 :https://testerhome.com/topics/4194
- LaTeX Hierarchical Tables
本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/52692655 简单整理一下表格中的分级 ...
- No entity found for query异常
错误为getSingleResult();获取值时获取不到报异常. getSingleResult的源码有一句: @throws EntityNotFoundException if there is ...
- bootstrap 中dropmenu不起作用
今天在使用bootstrap发现dropmenu一直不起作用,代码是从官网拷贝过来. 网上查找可以用的页面进行一点点的去除分析,发现竟然是顺序反了导致的. 在使用dropmenu时需要引入jquery ...