Java 进阶之旅的第四天

Java 进阶之旅的第四天

文章目录

  • Java 进阶之旅的第四天
    • Collections集合工具类
      • Collections集合工具类作用/特点
      • Collections常用的API

Collections集合工具类

Collections集合工具类作用/特点

  • 可以对创建的集合进行操作,比如批量添加等
  • 查看源码可得,该工具类的构造函数用private修饰(private Collections() {}),所以使用时不需要创建该类.直接调用即可

Collections常用的API

方法名称说明
public static boolean addAll(Collection c,T… elements)批量添加元素
pubilc static void shuffle(List<?> list)打乱List集合元素的顺序
void sort(List list)排序
void sort(List list,Comparator c)指定规则排序
int binarySearch(List list,T key)以二分查找法查找元素
void copy(List dest,List src)拷贝集合中的元素
int fill(List list,T obj)使用指定的元素填充集合
int max/min(Collection coll)根据默认的自然排序获取最大/小值
void swap(List<?> list,int i,int j)交换集合中指定位置元素
  • 代码展示
//创建集合ArrayList<Integer> array = new ArrayList<>();//集合工具类//批量添加Collections.addAll(array,1,2,3,4,5,6,7);System.out.println("批量添加");System.out.println(array);//打乱集合元素顺序Collections.shuffle(array);System.out.println("打乱集合元素顺序");System.out.println(array);//排序Collections.sort(array);System.out.println("排序");System.out.println(array);//指定规则排序Collections.sort(array, new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {return o2-o1;}});System.out.println("指定规则排序");System.out.println(array);//二分查找元素int index = Collections.binarySearch(array, 1);System.out.println("二分查找元素");System.out.printf("元素1的下标: %d\n",index);System.out.println("二分查找元素1时下标为-1的结果是受到集合逆序的影响");//拷贝(暂时无法解决
//        ArrayList<Integer> array2 = new ArrayList<>();
//        Collections.copy(array2,array);
//        System.out.println("拷贝");
//        System.out.println(array2);////根据默认的自然排序获取最大/小值int max = Collections.max(array);System.out.println("根据默认的自然排序获取最大");System.out.printf("最大值: %d\n",max);//交换集合中指定位置元素Collections.swap(array,0,2);System.out.println("交换集合中指定位置元素");System.out.println(array);//使用指定元素填充结合Collections.fill(array,5);System.out.println("使用指定元素填充结合");System.out.println(array);
  • 结果
批量添加
[1, 2, 3, 4, 5, 6, 7]
打乱集合元素顺序
[4, 1, 6, 3, 5, 2, 7]
排序
[1, 2, 3, 4, 5, 6, 7]
指定规则排序
[7, 6, 5, 4, 3, 2, 1]
二分查找元素
元素1的下标: -1
二分查找元素1时下标为-1的结果是受到集合逆序的影响
根据默认的自然排序获取最大
最大值: 7
交换集合中指定位置元素
[5, 6, 7, 4, 3, 2, 1]
使用指定元素填充结合
[5, 5, 5, 5, 5, 5, 5]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/632912.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python基础学习:同步异步阻塞与非阻塞

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 一、状态介绍 在了解其他概念之前&#xff0c;我们首先要了解进程的几个状态。 在程序运行的过程中&#xff0c;由于被操作系统的调度算法控制&#xff0c;程序…

k8s---pod控制器

pod控制器发的概念&#xff1a; 工作负载&#xff0c;workload用于管理pod的中间层&#xff0c;确保pod资源符合预期的状态。 预期状态&#xff1a; 1、副本数 2、容器重启策略 3、镜像拉取策略 pod出故障的出去等等 pod控制器的类型&#xff1a; 1、replicaset&#xf…

可达性分析

可达性分析 这个算法的基本思路就是通过 一系列称为“GC Roots”的根对象作为起始节点集&#xff0c;从这些节点开始&#xff0c;根据引用关系向下搜索&#xff0c;搜索过 程所走过的路径称为“引用链”&#xff08;Reference Chain&#xff09;&#xff0c;如果某个对象到GC …

在 Spring MVC 中,用于接收前端传递的参数的注解有以下几种

RequestParam&#xff1a; 用于获取请求参数的值。可以指定参数名称和默认值。示例代码&#xff1a; GetMapping("/users") public String getUser(RequestParam("id") int userId) {// 获取名为 id 的参数值// 执行相应的逻辑return "User detail…

Egg框架搭建后端服务【5】- 接口token

需求 后端服务提供的接口应该是有时限和权限的&#xff0c;所以一般通过 token 进行用户权限的校验。 开发 安装 通过 egg-jwt 插件生成 token。 npm i --save egg-jwt配置 在 plugin.js 中配置 egg-jwt 插件。 module.exports {jwt: {enable: true,package: egg-jwt},…

原生的cURL函数而不是 tp6框架的Http类,curl_init()、curl_setopt()和curl_exec()等cURL函数

GET请求示例&#xff1a; // 初始化 cURL $ch curl_init(); // 设置 cURL 选项 curl_setopt($ch, CURLOPT_URL, https://example.com/api/resource); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 执行 cURL 并获取返回结果 $response curl_exec($ch); // 关闭 cURL…

力扣22. 括号生成

回溯 思路&#xff1a; 定义函数 dfs(item, open, close, n) 表示当前 item 有左括号个数 open 和右括号个数 close &#xff1b;使用递归&#xff0c;长度为 n 的序列就是在长度为 n - 1 的序列后加左括号或者右括号&#xff1a; 先放左括号&#xff0c;只要其个数 < n&am…

自定义工具包:加快项目开发速度

​ 这篇文章&#xff0c;我打算自己做一个自己常用的一些 Go 语言的通用工具包&#xff0c;比如 MySQL、Redis 的连接&#xff0c;日志配置等。 MySQL 启动 MySQL 服务 ​ 我们先用 docker 起一个 MySQL 服务&#xff0c;便于我们后面的连接。 ​ 用 docker 启动一个 MySQL…

SSL证书自动化管理有什么好处?如何实现SSL证书自动化?

SSL证书是用于加密网站与用户之间传输数据的关键元素&#xff0c;在维护网络安全方面&#xff0c;管理SSL证书与部署SSL证书一样重要。定期更新、监测和更换SSL证书&#xff0c;可以确保网站的安全性和合规性。而自动化管理可以为此节省时间&#xff0c;并避免人为错误和不必要…

微信原生小程序上传与识别以及监听多个checkbox事件打开pdf

1.点击上传并识别 组件样式<van-field border"{{ false }}" placeholder"请输入银行卡卡号" model:value"{{bankNo}}" label"卡号"><van-icon bindtap"handleChooseImg" slot"right-icon" name"sca…

IDEA中启动项目报堆内存溢出或者没有足够内存的错误

1.报错现象 java.lang.OutOfMemoryError: Java heap space 或者 Could not reserve enough space for object heap 2.解决办法 在运行配置中VM选项后加下面的配置&#xff1a; -server -XX:MaxHeapSize256m -Xms512m -Xmx512m -XX:PermSize128M -XX:MaxPermSize256m 3.JVM虚…

单表查询练习

目录 题目&#xff1a; 制定约束&#xff1a; 添加表格信息&#xff1a; 所需查询的信息&#xff1a; 实验步骤&#xff1a; 第一步&#xff1a;制作表格 创建新的数据库 创建表格约束&#xff1a; 为表格加入数据&#xff1a; 第二步&#xff1a;查询信息 题目&…

Red Hat Enterprise Linux 7.9 安装图解

引导和开始安装 选择倒计时结束前&#xff0c;通过键盘上下键选择下图框选项&#xff0c;启动图形化安装过程。 安装语言选择 这里要区分一下&#xff0c;当前选中的语言作为安装过程中安装器所使用的语言&#xff0c;这里我们选择中文简体。不过细心的同学可能发现&#xff0c…

使用Mybatis-plus进行分页查询

MyBatis-Plus 是一个 MyBatis 的增强工具&#xff0c;在 MyBatis 基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。它提供了强大的分页功能&#xff0c;非常方便进行分页查询。下面是一个具体的例子&#xff0c;展示了如何使用 MyBatis-Plus 进行分页查询&#x…

OpenGL ES之深入解析如何绘制“跳动的心“特效

最近在浏览技术网站时,偶然间发现如下这个"跳动的心"特效,觉得蛮好玩的,当得知这个特效是用纯代码实现(GLSL 实现)的,确实又被惊到:追溯该特效最初的来源,最终在 ShaderToy 网站看到它的原始实现,另外在 ShaderToy 上还发现了无数类似惊人的特效,并且这些特…

JVM:性能监控工具分析和线上问题排查实践

前言 在日常开发过程中&#xff0c;多少都会碰到一些jvm相关的问题&#xff0c;比如&#xff1a;内存溢出、内存泄漏、cpu利用率飙升到100%、线程死锁、应用异常宕机等。 在这个日益内卷的环境&#xff0c;如何运用好工具分析jvm问题&#xff0c;成为每个java攻城狮必备的技能…

第8章 通信网络安全

文章目录 一、信息系统安全概述 1.信息系统的构成和分类 信息系统是将用于收集、处理、存储和传播信息的部件组织在一起而成的相关联的整体&#xff0c;般是由计算机硬件、网络和通信设备、计算机软件、信息资源和信息用户组成。它是以处理信息流为目的的人机一体化系统。信息系…

小程序进阶学习(视频完结)(核心,重点)

首先上面是一个视频播放器 把视频的宽度设置为100%即可铺满全屏 然后视频的标题和作者 最后就是一个视频播放列表 &#xff0c;设置一个固定位置开始滚动即可 还有一个问题没有解决&#xff0c;大家出出主意。 在播放页面在点击一个新的视频去播放&#xff0c;点进去的新视频获…

解决没有进入docker的权限问题

原因&#xff1a; 在Docker默认情况下只有root用户或者在docker组中的用户才有权限访问Docker服务 解决方法&#xff1a; su - root usermod -aG docker username参考链接&#xff1a;解决没有足够权限访问Docker守护进程的问题permission denied while trying to connect to …

C/C++ BM6判断链表中是否有环

文章目录 前言题目解决方案一1.1 思路阐述1.2 源码 解决方案二2.1 思路阐述2.2 源码 总结 前言 做了一堆单链表单指针的题目&#xff0c;这次是个双指针题&#xff0c;这里双指针的作用非常明显。 题目 判断给定的链表中是否有环。如果有环则返回true&#xff0c;否则返回fal…