集合工具类

【Java笔记(45)】集合6大工具类汇总 目录一、类介绍1、Stack -- 栈操作类2、Queeu -- 队列接口3、Stream -- 流(数据分析)4、Properties -- 配置文件操作5、MapReduce -- 基础模型6、Cllections -- 集合工具类二、完整代码1、Stack2、Queeu3、Stream4、Properties5、MapReduce6、Cllections 一、类介绍 1、Stack – 栈操作类 * 栈操作类 * 虽然Stack继承Vector类,但是并没有用到这些他里面的方法 * 而是使用自己 阅读详情

@(笔记)[MarkDown|集合|我的博客]

07.21

集合工具类

Collections类

此类方法众多,只介绍几个常用方法

  • sort() 对元素进行排序,可以传入比较器
  • max() 返回最大元素,可以传入比较器
  • min() 返回最小元素,可以传比较器
  • reverse() 反排序
  • shuffle() 混排

Arrays类

此类包含用来操作数组(比如排序和搜索)的各种方法。
方法更多,还是看API吧

比较器

Comparable

内部比较器
public interface Comparable
此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的 compareTo 方法被称为它的自然比较方法。
int compareTo(T o)
一个类继承了Comparable接口后,重写compareTo()方法,就能按照我们自己的规则排序

例子:

public class Student implements Comparable<Student>{
    private String name;
    private int age;
    private int score;
    public Student() {
    }
    public Student(String name, int age, int score) {
        super();
        this.name = name;
        this.age = age;
        this.score = score;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public int getScore() {
        return score;
    }
    public void setScore(int score) {
        this.score = score;
    }
    /**
     * 比较规则是按照年龄来排
     */
    @Override
    public int compareTo(Student stu) {
        // TODO Auto-generated method stub
        if(this.age > stu.getAge()){
            return 1;
        }else if(this.age < stu.getAge()){
            return -1;
        }else{
            return 0;
        }
    }
    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return "名字:" + this.name + ";年龄:" + this.age + ";成绩:" + this.score;
    }
}

当把Student对象存储在List集合中的时候,
可以使用Collections工具类对这个Student集合进行排序.

  • 如果调用Collections的sort(List<T> list)方法,就会根据元素的自然顺序 对指定列表按升序进行排序

  • 当调用sort(List<T> list, Comparator<? super T> c)方法时,
    当我们传入一个比较器的时候,就会根据我们自己定义的规则进行排序

ArrayList<Student> arrayStudent = new ArrayList<Student>();
arrayStudent.add(new Student("张三",26,90));
arrayStudent.add(new Student("李四",20,76));
arrayStudent.add(new Student("王武",24,68));
Collections.sort(arrayStudent);

因为在Student类继承Comparable接口,重写了此接口的compareTo()方法,当对arrayStudent集合进行排序的时候,会按照我们重写后的规则进行排序

Comparator

外部比较器
接着上面的例子

重新定义一个实现了Comparator接口的类

public class StudentComparator implements Comparator<Student>{
    @Override
    public int compare(Student stu1, Student stu2) {
        // TODO Auto-generated method stub
        if(stu1.getName().length() > stu2.getName().length()){
            return 1;
        }else if(stu1.getName().length() < stu2.getName().length()){
            return -1;
        }else{
            return 0;
        }
    }
}

然后调用
Collections.sort(arrayStudent,new StudentComparator());
将按照我们的规则进行排序.

在以前我们只能比较基本数据类型和字符串
现在学习了比较器之后,我们就可以比较(排序)对象了,
只要继承了Comparable或者传入一个实现了Comparator接口的自己定义的比较规则的对象,
就可以按照我们的想法对元素进行排序.

Java使用CollectionUtils集合工具类 CollectionUtils 是 Apache Commons Collections 库提供的集合操作工具类,主要用于简化 List、Set 等集合的常见操作。与 JDK 自带的 Collections 工具类不同,它提供了更多增强功能且能更好地处理 null 值。 阅读详情

相关推荐

Java零基础-集合:集合框架中的工具类

Java是一种广泛使用的编程语言,而集合框架是Java开发中常用的工具之一。集合框架包含了一系列的接口、类和算法,用于存储和操作对象。在集合框架中,工具类扮演着重要的角色,为开发人员提供了便利的方法和功能。本文将介绍集合框架中的工具类,包括其简介、源代码解析、应用场景案例、优缺点分析和类代码方法介绍。同时,还会提供具体的Java代码测试用例,以便读者更好地理解和应用这些工具类。本文将重点介绍Java集合框架中的工具类,旨在帮助读者了解和使用这些工具类。

喵手的博客 1256

集合工具类和排序

一、Collections类集合工具类     1.Collections类里面全部都是静态方法,其中的sort(List list)方法可以实现对List对象排序,前提是list里面的所有元素都必须实现了Comparable接口,也就是实现了接口里面的compareTo(Object o)方法。(Arrays的sort(Object[ ] object)要求一样)    2.compar

黄钻高级会员的专栏 911

WPF插件架构-如何动态加载封装好的第三方DLL的界面

插件架构中如何自动加载第三方DLL中的UI界面

lg24k的博客 1882

Java基础——集合(HashSet 集合类、LinkedHashSet 集合类、Collections 集合工具类、Map 接口、Map 集合的遍历方式)

​​​​​​​ ④boolean containsKey(Object key)​​​​​​​ 判断集合是否包含指定的键。Collections.addAll(list1, "南京市", "扬州市", "苏州市", "无锡市", "常州市");Collections.addAll(list2, "武汉市", "孝感市", "十堰市", "宜昌市", "鄂州市");​​​​​​​ ⑦int size()​​​​​​​ 集合的长度,也就是集合中键值对的个数。

qq_38553011的博客 2327

C#实现不占用串口的串口监听与侦听技术:高效监控串口数据的最佳实践

本文详细介绍了如何实现不占用串口的串口监听与侦听技术,解决了传统串口监听可能带来的串口占用问题。通过使用虚拟串口、外部监听工具或第三方库,我们可以高效地实现串口数据的捕获与处理,适用于各种工业控制、物联网和嵌入式开发的应用场景。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1675

深入剖析:功率放大电路设计精髓——从理论到实践

输入信号首先被调制(通常是PWM脉宽调制)成高频开关信号,驱动功率开关管(MOSFET),再通过LC低通滤波器滤除高频分量,还原出放大的音频信号。在靠近功放板电源引脚处放置足够容量的电解电容(如100uF - 1000uF)和高频瓷片电容(如0.1uF)并联进行电源去耦,抑制低频和高频干扰,防止低频振荡(Motorboating)和高频自激。,堪称电子世界里的“能量转换器”。当输入信号在零附近(即两个器件切换导通的区域)时,由于器件的开启电压(Vbe或Vgs)不为零,输出波形会出现明显的衔接不流畅的失真。

Zihan2558的博客 1697

常用的一些集合工具类

目录前言`jdk` 自带的 `Collections` 集合工具类常用方法 前言 Java 集合工具类分为两种,一种是 jdk 自带的,一种是第三方提供的(要去他们官网下 jar包,然后导入使用) jdk 自带的 Collections 集合工具类常用方法 该工具类里提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象实现同步控制等方法。这个类不需要创建对象,内部提供的都是静态方法 将所有指定的元素添加到指定的集合 addAll(Collection<? super T>

桐花思雨 1955

基于YOLO+DeepSeek的农作物病虫害检测系统

本系统是一个基于YOLO+DeepSeek的农作物病虫害检测系统。 可使用YOLOV1-YOLOV12的任意模型进行目标检测。可以实现检测图片、批量检测图片、视频检测、摄像头检测四种方式。

qq_51977316的博客 1809

Java 集合工具类

工具类是 Java 集合操作的“瑞士军刀”,提供了排序、查找、同步化、不可修改化等实用功能,极大简化了集合处理代码。掌握其核心方法,能显著提高开发效率,同时保证代码的安全性和可读性。实际开发中,需根据场景灵活选择合适的方法,尤其注意线程安全和不可修改集合的特性。点击此处进入练习题。

2501_91241024的博客 1042

Kettle入门指南:从安装到数据转换实战

本文提供Kettle(Pentaho Data Integration)的完整入门指南,涵盖从Java环境安装、软件配置到核心概念(转换与作业)的详细解析。通过实战案例,手把手教你如何将文本文件数据导出到Excel,并连接MySQL数据库进行数据导入,帮助你快速掌握这一强大ETL工具的基本使用,实现高效数据搬运与转换。

weixin_29266647的博客 449

fluent二维叶型仿真_Fluent案例4【自然对流】

自然对流来了!!江苏的高校好多开学了,我啥时候才能开学另外,刚才看了何同学的Mac Pro深度体验视频,我好酸/(ㄒoㄒ)/~~好想拥有一台跑仿真那种sou~sou~sou~的机器。废话不多说了,进入正题!案例题目:一个矩形空腔内有500K恒温小球,矩形空腔充斥空气,边界条件绝热,模型尺寸如下,试模拟空腔内空气流动状态做出温度变化图。(尺寸大小懒得写了,在建模部分里有)操作平台:workbench...

weixin_39724469的博客 3670

java 集合 之 集合工具类Collections

集合知识补充,让集合操作变得简单高效

qq_73698057的博客 1343

后仿真中的必懂VCS仿真选项之initreg和deposit

后仿真中,我们常常对于没有复位寄存器和存储器单元,使用仿真选项之initreg和deposit,两种处理方式。今天做总结。请注意:请勿将两者进行同时使用。对于到底选取哪种方式,要结合实际的情况决断。但是,两者同时使用,会有冲突,得不到预期结果。

那么菜的博客 4331

java集合工具类

开发工具与关键技术:MyEclipse 10、java语言、 作者:邓李庆 撰写时间: 2019年5月28日 下面小编给大家java的集合工具类:Collections,java提供了一个操作Set、List和Map等集合的工具类:Collections,该工具类里面提供了大量方法对集合元素进行排序、查询和修改等操作,还提供了对集合对象实现同步控制等方法。 排序操作: 修饰符 返回值类型 ...

博客 5148

Token 费用爆炸?教你用 Semantic Cache(语义缓存)把 API 成本降低 80%

本文介绍了语义缓存(Semantic Cache)技术在大模型应用中的关键作用。传统Redis缓存基于精确匹配,无法处理用户提问的语义相似性,导致重复调用昂贵的LLM API。语义缓存通过将问题向量化并在向量空间中进行相似度匹配,可识别30%-50%的重复提问,直接返回历史答案。文章详细解析了技术原理(Embedding+向量搜索)、架构设计,并提供了基于Python和ChromaDB的50行核心实现代码。同时指出了生产环境中的三大挑战:阈值设定、隐私保护和多轮对话处理,并给出相应解决方案。该技术能以极低成

BUG猿的博客 1056

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Map集合、集合工具类Collections

目录 Map集合 Map集合概述和特点 Map集合的功能 Map集合的遍历-键值对对象找键和值 Map集合的遍历-键找值 Map集合案例:键是String,值是Student LinkedHashMap的概述和使用 TreeMap集合 集合嵌套 HashMap嵌套HashMap HashMap嵌套ArrayList ArrayList嵌套HashMap HashMap和Hashtable的区别 Collections工具类 常见方法 Map集合 Map集合概述和特点

qq_56930747的博客 2068

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Map集合、Collections集合工具类

Map集合. Collections 集合工具类

Cocobuhui的博客 535

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

JAVA集合取交集工具类_集合交集、差集工具类

1.业务背景在日常开发中,有时会遇到需要对比两个集合来计算出两个集合的交集、差集。以此来决定之后对数据库的insert、delete、update操作。例如,在一些管理系统中配置管理员列表后,如果需要更新管理员列表,需要从前端获取新管理员列表,比对数据库中旧有的管理员列表,然后决定哪些集合需要insert入数据库,哪些需要从数据库中delete。以上是业务背景的简单介绍,但是如果是一些数据规模比较...

weixin_29290947的博客 3245

java集合常用的工具类

这里整理一个java集合中常用的一个工具类具体有如下几个功能 1.取集合中对象的某两个属性封装成map,一个属性作为key,一个属性作为value 2.取集合对象中的某一个属性值封装成List 3.取集合对象中的某一元素用某一个分隔符隔开组合成一个字串 4.转换Collection所有元素(通过toString())为String, 中间以 separator分隔 5.转换Collect

飞血泪无痕的博客 5060

工具类篇2——集合工具类

集合工具类 工具类全都是阿里代码规范与SonalLint扫描通过的哦,可以放心使用 将集合转换为以指定分隔符分隔的字符串【toString()】 将已被固定字符分隔成的字符串拆分为指定类型集合【get***()】 获取集合中复杂对象某个属性并整理为集合【get***()】 比较两个复杂或基本类型集合对结果返回交集【compareToArray***()】 获取集合中重复的对象集合并去重【getRepeat()】 判断Map与Collection对应对象是否为空【isEmpty(), isNotEmpty(

taotaojs的博客 462

集合——工具类

Collections类: 用于操作集合的工具类,它的出现给集合操作提供了更多的功能。这个类不需要创建对象,内部提供的都是静态方法。 Collections工具类中常用的静态方法: boolean addAll(list,elements)将指定元素添加到指定的Collection集合中 int binarySearch(list,value) 使用二分搜索法(又叫做折半查找)查找

整理记录 607

java中集合工具类

是 Java 集合框架的核心工具类,覆盖了排序、查找、同步、不可变集合等高频操作。熟练使用其方法可以显著提升代码效率和健壮性。对于更复杂的需求(如函数式操作、扩展集合类型),可结合 Guava 等第三方库。

2402_83164836的博客 443

java集合处理工具类

package com.huofutp.cloud.oa.crm.util; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.ArrayList; import java.util

qq_42228663的博客 393

Java集合工具类

Java集合工具类是Java编程语言中最常用的工具之一。Java集合框架提供了一套标准的接口和类,用于处理集合数据类型,如列表、集合、队列和映射等。Java集合框架提供了一组通用的工具类,用于提供集合操作的功能。在本篇技术博客中,我们将详细介绍Java集合工具类,包括使用场景、常用方法和示例代码等。

hj1993的博客 893
上一篇: 集合简单总结
下一篇: Properties
dong4go
博客等级 码龄12年 5粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值