Java集合工具类Collections常用方法详解

2023-05-16

文章目录

    • 1、Collections介绍
    • 2、Collections常用方法
      • 2.1、reverse()
      • 2.2、sort()
      • 2.3、swap()
      • 2.4、min()和max()
      • 2.5、copy()
      • 2.6、fill()
      • 2.7、replaceAll()
      • 2.8、shuffle()
      • 2.9、rotate()
      • 2.10、indexOfSubList()和lastIndexOfSubList()
      • 2.11、unmodifiableXxx()


1、Collections介绍

      Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。


2、Collections常用方法

2.1、reverse()

在这里插入图片描述

public static void main(String[] args) {
    List list = new ArrayList();
    list.add(1);
    list.add(2);
    list.add(3);
    list.add(4);

    System.out.println(list);
    System.out.println("----反转后----");
    
    Collections.reverse(list);
    System.out.println(list);

}

在这里插入图片描述


2.2、sort()

在这里插入图片描述

根据元素的自然顺序 对指定列表按升序进行排序。

public static void main(String[] args) {
    List list = new ArrayList();
    list.add(1);
    list.add(4);
    list.add(2);
    list.add(3);

    System.out.println(list);
    System.out.println("----排序后----");

    Collections.sort(list);
    System.out.println(list);

}

在这里插入图片描述


2.3、swap()

在这里插入图片描述

public static void main(String[] args) {
    List list = new ArrayList();
    list.add(1);
    list.add(4);
    list.add(2);
    list.add(3);

    System.out.println(list);
    System.out.println("----交换后----");

    Collections.swap(list,1,2);
    System.out.println(list);

}

在这里插入图片描述


2.4、min()和max()

在这里插入图片描述

在这里插入图片描述

public static void main(String[] args) {
     List list = new ArrayList();
     list.add(1);
     list.add(4);
     list.add(2);
     list.add(3);

     System.out.println(Collections.min(list));
     System.out.println(Collections.max(list));

 }

在这里插入图片描述


2.5、copy()

在这里插入图片描述

注意:目标集合大小必须大于等于原集合大小

public static void main(String[] args) {
     List list = new ArrayList();
     list.add(1);
     list.add(4);
     list.add(2);
     list.add(3);

     ArrayList arrayList = new ArrayList();
     arrayList.add("");
     arrayList.add("");
     arrayList.add("");
     arrayList.add("");
     arrayList.add("");

     Collections.copy(arrayList,list);
     System.out.println(arrayList);

 }

在这里插入图片描述


2.6、fill()

在这里插入图片描述

public static void main(String[] args) {
     List list = new ArrayList();
     list.add(1);
     list.add(4);
     list.add(2);
     list.add(3);

     Collections.fill(list,"皮皮虾");
     System.out.println(list);

 }

在这里插入图片描述


2.7、replaceAll()

在这里插入图片描述

替换批定元素为某元素,若要替换的值存在刚返回true,反之返回false

public static void main(String[] args) {
     List list = new ArrayList();
     list.add(1);
     list.add(4);
     list.add(2);
     list.add(3);

     boolean b = Collections.replaceAll(list, 2, "皮皮虾");
     System.out.println(b);
     System.out.println(list);

 }

在这里插入图片描述


2.8、shuffle()

在这里插入图片描述

public static void main(String[] args) {
     List list = new ArrayList();
     list.add(1);
     list.add(4);
     list.add(2);
     list.add(3);

     Collections.shuffle(list);
     System.out.println(list);

     Collections.shuffle(list);
     System.out.println(list);

     Collections.shuffle(list);
     System.out.println(list);

 }

在这里插入图片描述


2.9、rotate()

在这里插入图片描述

集合中的元素向后移m个位置,在后面被遮盖的元素循环到前面来.
(负数向左移动,正数向右移动)

public static void main(String[] args) {
    List list = new ArrayList();
    list.add(1);
    list.add(4);
    list.add(2);
    list.add(3);

    System.out.println(list);
    System.out.println("正向移动后");
    Collections.rotate(list,2);
    System.out.println(list);

    System.out.println("负向移动后");
    Collections.rotate(list,-1);
    System.out.println(list);
}

在这里插入图片描述


2.10、indexOfSubList()和lastIndexOfSubList()

在这里插入图片描述

public static void main(String[] args) {
    List list = new ArrayList();
    list.add(1);
    list.add(4);
    list.add(3);
    list.add(2);
    list.add(3);

    ArrayList arrayList = new ArrayList();
    arrayList.add(3);

    int i = Collections.indexOfSubList(list, arrayList);
    System.out.println(i);

    int num = Collections.lastIndexOfSubList(list, arrayList);
    System.out.println(num);
}

在这里插入图片描述


2.11、unmodifiableXxx()

在这里插入图片描述

返回指定集合对象的不可变视图

public static void main(String[] args) {
    List list = new ArrayList();
    list.add(1);
    list.add(4);
    list.add(2);
    list.add(3);

    try {
        Collection collection = Collections.unmodifiableCollection(list);
        collection.add(6);
        System.out.println(list);
    }catch (Exception e) {
        System.out.println("出现错误");
    }

}

在这里插入图片描述


觉得不错的小伙伴可以点赞关注和收藏哦!如有错误可以指出来。

Java学习路线目录索引

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java集合工具类Collections常用方法详解 的相关文章

随机推荐

  • pulsar常用命令

    创建安全认证key bin pulsar tokens create secret key output data admin secret key 创建角色 xff0c 生成token bin pulsar tokens create s
  • 转-docker入门

    Docker入门教程 xff08 详细 xff09 JWei 7的博客 CSDN博客 docker 入门教程
  • 用Bmob实现用户数据添加和查询显示

    我用的例子利用Bmob云服务器实现了让用户上传待出售商品信息 xff0c 以及能浏览在售商品信息的小功能 刚接触Bmob感觉它确实好用 xff0c 但我不得不吐槽那个案例更新的太慢了 xff0c 新版本的SDK跟老版本还是有很大差别的 xf
  • linux中的文件移动

    Linux不同于Windows xff0c 在Windows操作系统中我们只需要傻瓜式的将文件用鼠标拖到目标文件夹即可 xff0c 但是在Linux中移动文件却不是那么的简单 以Ubuntu16 04为例说一下Linux中的文件的移动 1
  • android顶部回退按钮的实现

    最近看来好多关于android顶部导航栏回退的实现 如下图效果 点击返回上级页面 xff0c 网上的大部分都实现特别繁琐 xff0c 其实安卓自带BUFF 在Manifest清单文件中一句代码就能搞定 xff0c 特别easy xff0c
  • 树莓派与Android客户端进行socket通信

    首先 xff0c 需要对树莓派进行配置 xff0c 使其成为AP热点 xff0c 这里我用的树莓派3B自带wifi蓝牙模块 xff0c 树莓派3B作AP热点的方法具体参考https blog csdn net u014271612 arti
  • android客户端控制树莓派GPIO点亮LED灯

    首先需要android客户端与树莓派进行连接 xff0c 树莓派与android客户端利用wifi连接并进行socket通信请参考我的另一片文章 xff1a https mp csdn net postedit 79911322 树莓派与A
  • 百度2014校园招聘 软件研发工程师 笔试题

    一 简答题 xff08 本题共30 xff09 1 动态链接库和静态链接库分别有什么优缺点 xff1f xff08 10 xff09 2 轮询任务调度与抢占式任务调度的区别 xff1f xff08 10 xff09 3 请列出数据库中常用的
  • java基础编程案例

    java编程案例 案例一 xff1a 飞机票查看优惠系统案例二 xff1a 获取素数案例三 xff1a 验证码模块案例四 xff1a 数组元素的复制案例五 xff1a 评委打分案例六 xff1a 数字加密程序案例七 xff1a 模拟双色球系
  • Java基础之集合框架--Collections工具类之max()方法

    max 方法一个参数的源码 xff1a public static lt T extends Object amp Comparable lt super T gt gt T max Collection lt extends T gt c
  • python创建一个txt文件

    创建一个txt文件 xff0c 文件名为mytxtfile 并向文件写入msg 注意文件的路径不要错 xff0c 还有文件的格式 创建一个txt文件 xff0c 文件名为mytxtfile 并向文件写入msg def text create
  • Android--Jetpack的使用(一)

    目录 1 ViewModel 2 ViewModel 43 LiveData 3 ViewModel 43 LiveData 43 dataBinding 4 ViewModel 43 SavedStateHandle 43 LiveDat
  • Git 常用命令

    一 Git常用命令 1 配置用户名 xff08 上传代码的用户名 xff09 xff1a git config global user name 34 ljs 34 2 配置用户邮箱 xff08 其他作者联系你的邮箱 xff09 xff1a
  • 游戏开发图书推荐--我读过的技术经典图书

    很多同学问我学游戏开发应该看些什么书 xff0c 我在这里抛砖引玉 xff0c 给一份推荐表 xff0c 希望大家共同提高 由于本人英文不太好 xff0c 推荐的大部书籍都是国人编写的 xff0c 有些经典的外文图书可能是翻译不好 xff0
  • Git中使用.gitignore忽略文件的推送

    1 简介 在使用Git管理自己的代码版本时 xff0c 由于编译生成的中间文件 xff0c Git使用SHA 1算法来对文件进行加密 xff0c 进而得出来一个40位的十六进制加密字符串 325525d8b1f67b5ddd37956a8a
  • AFNetWorking3.0处理请求头和请求内容

    今天要处理用户的相关信息 xff0c 需要在HTTP请求中添加请求头 xff0c 网上大部分资料都是针对AFNetWorking2 0的 xff0c 我用3 0版本实现了相关功能 xff0c 见下面代码 首先是请求的URL xff0c sp
  • chrome浏览器安装插件,提示程序包无效

    chrome浏览器安装插件的时候 xff0c 如果提示 程序包无效 xff1a CRX HEADER INVALID xff0c 导致插件安装不上去 xff0c 这个时候该怎么办呢 xff1f 通常 xff0c 这种错误在chrome浏览器
  • viewpage+radiogroup

    lt xml version 61 34 1 0 34 encoding 61 34 utf 8 34 gt lt LinearLayout xmlns android 61 34 http schemas android com apk
  • 线程执行设置超时时间

    import java util concurrent 记录 xff0c 备忘 线程执行设置超时时间 public class Main2 定义线程池 xff0c 推荐手动创建线程池 xff1a https blog csdn net LL
  • Java集合工具类Collections常用方法详解

    文章目录 1 Collections介绍2 Collections常用方法2 1 reverse 2 2 sort 2 3 swap 2 4 min 和max 2 5 copy 2 6 fill 2 7 replaceAll 2 8 shu