java学习笔记25(Collections类)
Collections算法类:
Collections是一个算法类,提供了一系列静态方法,实现对集合的排序、替换、交换、搜索、拷贝等操作;
用法:Collections.方法名(要操作的集合);
就像数组的操作类Arrays类一样,Collections类是一个操作集合的类,注意:只能操作Collection接口下的集合(Map集合不能使用该类)
具体方法有:
1.addAll方法;可以对所有Collection集合使用
2.sort(),reverse(),replaceAll(),binarySearch(),shuffle(),swap()方法 只能对List及其子类使用,Set类型不能用
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.HashSet;
- public class CollectionsDemo {
- public static void main(String[] args) {
- function();
- }
- private static void function() {
- ArrayList<String> arr=new ArrayList<>();
- //1.addAll(集合,要添加的元素) 将所有指定元素添加到指定集合中
- Collections.addAll(arr,"BBB","DDD","AAA","CCC");
- System.out.println(arr);//[BBB, DDD, AAA, CCC]
- //2.sort(List 要操作的集合) 根据元素的自然顺序对指定列表按升序进行排序
- Collections.sort(arr);
- System.out.println(arr);//[AAA, BBB, CCC, DDD]
- HashSet<String> hs=new HashSet<>();
- Collections.addAll(hs,"BBB","DDD","AAA","CCC");
- System.out.println(hs);//[AAA, CCC, BBB, DDD]
- // Collections.sort(hs);会报错 sort方法只能对List及其子类使用
- //3.reverse方法 反转指定列表中的元素,跟sort方法一样,只对List及其子类使用
- Collections.reverse(arr);
- System.out.println(arr);//[DDD, CCC, BBB, AAA]
- //4.shuffle()方法,对参数List中的元素进行随机排列 只能对List及其子类使用
- Collections.addAll(arr,"EEE","FFF","GG");//为了方便观察,我们多添加几个元素并排序
- Collections.sort(arr);
- System.out.println(arr);//[AAA, BBB, CCC, DDD, EEE, FFF, GG]
- Collections.shuffle(arr);//使用shuffle方法
- System.out.println(arr);//[DDD, EEE, BBB, CCC, GG, AAA, FFF]
- //5.replaceAll(要操作的集合,旧值,新值)方法 将列表中的旧值替换为新值,只对List及其子类可用
- Collections.replaceAll(arr,"BBB","HH");
- System.out.println(arr);//[HH, DDD, AAA, CCC, FFF, GG, EEE]
- //6.binarySearch()方法,在有序的List中查找指定的元素。注意:有序
- Collections.sort(arr);
- int index = Collections.binarySearch(arr, "DDD");
- System.out.println(index);//2 如果找不到元素或者元素无序的话,返回负值
- //7.swap(要操作的集合,int i,int j)方法 在List指定的列表中交换i和j两位置处的元素
- System.out.println(arr);//[AAA, CCC, DDD, EEE, FFF, GG, HH]
- Collections.swap(arr,3,5);
- System.out.println(arr);//[AAA, CCC, DDD, GG, FFF, EEE, HH]
- }
- }
java学习笔记25(Collections类)的更多相关文章
- java学习笔记7--抽象类与抽象方法
接着前面的学习: java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) jav ...
- Java学习笔记16---抽象类与接口的浅显理解
抽象类是由abstract修饰的类,定义方式如public abstract class A{...}. 接口由interface修饰,定义方式如public interface B{...}. 抽象 ...
- 1.9(java学习笔记)object类及toString()与equals()方法
object类 java中objec是所有类公共的父类,一个类只要没有明显的继承某一类,那么它就是继承object类. 例如 class Person {......};和class Person e ...
- 【原】Java学习笔记031 - 常用类
package cn.temptation; public class Sample01 { public static void main(String[] args) { /* * 类 Math: ...
- Java学习笔记day06_自定义类_ArrayList
1.自定义类class 使用类的形式, 对现实中的事物进行描述. 类是引用数据类型. 事物: 方法,变量. 方法:事物具备的功能. 变量:事物的属性. 格式: public class 类名{ //属 ...
- Java学习笔记(2)——有关类
Java类的高级特性: {Java管理文件机制:类包. 同一个包中的类互相访问时,可以不指定包名. 同一个包中的类不必存放在同一位置,如com.lang.class1和com.lang.class2可 ...
- Java学习笔记25(System类)
System类,系统类,包含的是静态方法,无法创建对象 这里介绍几个简单的方法,其他一些在后边用到的时候会讲 类方法: currentTimeMillis():获取当前毫秒数 package demo ...
- 0029 Java学习笔记-面向对象-枚举类
可以创建几个对象? n多个:大部分的类,都可以随意创建对象,只要内存不爆掉 1个:比如单例类 有限的几个:采用单例类的设计思路,可以只允许创建少数的几个特定的对象:还有就是枚举类. 创建少数几个对象, ...
- Java学习笔记 02 String类、StringBuilder类、字符串格式化和正则表达式
一.String类一般字符串 声明字符串 >>String str 创建字符串 >>String(char a[])方法用于将一个字符数组创建为String对象 >> ...
随机推荐
- hdu5992 kdt
题意:n个旅馆,每个有花费,m个查询,查询在某个点在c花费范围内的距离最小的旅馆 题解:kdt,建成四维,坐标两维,花费一维,id一维,实际上建树只用前两维,正常的查询,如果满足条件在更新答案即可 / ...
- 第一阶段——站立会议总结DAY10
1.昨天做了什么:找到了一些模板,把自己的修改了修改,排版了一下. 2.今天准备做什么:做最后的整理,添加一些小图标一些的.还要把按钮的字体换成红色. 3.遇到的困难:一般定义的文字和下拉菜单的文字的 ...
- kolla-ansible 一键安装openstack
官网地址https://docs.openstack.org/kolla-ansible/latest/user/quickstart.html 参考:https://www.jianshu.com/ ...
- set unused的用法(ORACLE删除字段)
set unused的用法(ORACLE删除字段) 一.问题 现场有一张大数据量的分区表,数据量在10G以上.因某种原因需要删除其中的某些字段.如果直接用alter table1 drop (colu ...
- 【LeetCode】最大子序列和
要求时间复杂度 O(n). e.g. 给定数组 [-2,1,-3,4,-1,2,1,-5,4],其中有连续子序列 [4,-1,2,1] 和最大为 6. 我完全没有想法,看了答案. C++实现: int ...
- html中传递信息
<div class="card" data-username="ArgenBarbie"> </div> JS: var userna ...
- Windows服务手动关闭教程
Windows上关闭软件自启动,经常使用360等软件的开机加速功能去优化. 但有时候有些服务开机是启动的但在360中并没有找到那如何手动关闭这些服务的自启动呢? 下边以Autodesk Applica ...
- springboot aop 自定义注解方式实现一套完善的日志记录(完整源码)
https://www.cnblogs.com/wenjunwei/p/9639909.html https://blog.csdn.net/tyrant_800/article/details/78 ...
- qt资源加载出错
-1: error: No rule to make target '../InteractivePlayer/style.qss', needed by 'debug/qrc_res.cpp'. ...
- sql group by max
SELECT * , REPLACE(TDFG.xdfd,'doc_111','') GBFROM ( SELECT * FROM ...