SpringFramework 中CollectionUtils 工具类的使用

news2024/11/25 20:33:51

CollectionUtils是Spring框架中的一个工具类,提供了一系列对集合的操作方法。

import org.springframework.util.CollectionUtils;

import java.util.*;

public class CollectionUtilDemo {
    public static void main(String[] args) {

        //判断一个集合或Map是否为空,返回布尔值
        List<String> list = new ArrayList<>();
        System.out.println(CollectionUtils.isEmpty(list)); // 输出true

        Map<String, Object> map = new HashMap<>();
        System.out.println(CollectionUtils.isEmpty(map)); // 输出true

        list.add("apple");
        System.out.println(CollectionUtils.isEmpty(list)); // 输出false

        //判断一个迭代器中是否包含某个元素。如果包含,则返回true,否则返回false。
        List<String> list1 = new ArrayList<>(Arrays.asList("apple", "banana", "orange"));
        Iterator<String> it = list1.iterator();
        System.out.println(CollectionUtils.contains(it, "banana")); // 输出true

        //断一个集合中是否包含某个元素的实例。如果包含,则返回true,否则返回false。
        List<String> list2 = new ArrayList<>(Arrays.asList("apple", "banana", "orange"));
        String str = "apple";
        System.out.println(CollectionUtils.containsInstance(list2, str)); // 输出true

        //判断一个集合source中是否包含candidates集合中的任意一个元素。如果找到任意一个匹配项,返回true,否则返回false。
        List<String> list3 = new ArrayList<>(Arrays.asList("apple", "banana", "orange"));
        List<String> candidates = new ArrayList<>(Arrays.asList("pear", "banana"));
        System.out.println(CollectionUtils.containsAny(list3, candidates)); // 输出true

        //找到第一个匹配source集合和candidates集合的元素。如果找到一个匹配项,返回该项的值,否则返回null。
        List<String> list4 = new ArrayList<>(Arrays.asList("apple", "banana", "orange"));
        List<String> candidates1 = new ArrayList<>(Arrays.asList("pear", "banana"));
        System.out.println(CollectionUtils.findFirstMatch(list4, candidates1)); // 输出"banana"

        //判断集合是否只有一个元素,如果集合为空或者多于一个元素,则返回false,否则返回true。
        List<String> list5 = new ArrayList<>(Arrays.asList("apple"));
        List<String> list6 = new ArrayList<>(Arrays.asList("apple", "banana"));
        System.out.println(CollectionUtils.hasUniqueObject(list5)); // 输出true
        System.out.println(CollectionUtils.hasUniqueObject(list6)); // 输出false
    }
}

 

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

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

相关文章

OWASP ZAP alerts

前提 使用OWASP ZAP对网站进行安全扫描&#xff0c;扫描后发现一些警告。 使用警告名称在百度进行搜索就能看到在OWASP ZAP网站上对应警告的解释。 可以在如下地址输入alert查询 https://www.zaproxy.org/docs/alerts/ Missing Anti-clickjacking Header 见https://www.zap…

SQL Server 2008R2安装图文教程(附SQL Server下载安装包)

SQL Server 2008R2 安装教程 演示系统&#xff1a;Windows server 2008R2 安装包&#xff1a;下载传送门 下载并解压安装包&#xff0c;找到解压的安装包&#xff0c;双击【setup.exe】 如果是你的服务器没有安装.NET Framework 3.5&#xff0c;那会弹出个提示框&#xff0c;…

CODEC 基础知识

&#xfeff; ASDOUT : ADC data output  DSDIN : DAC data input  LRCK : Left/Right data alignment clock  SCLK : Bit clock &#xfeff; MCLK 256 LRCK 或者 MCLK384 LRCK different audio data formats:  I2S …

公司新来了个拿18K出来的测试,让我见识到了什么叫真正的测试扛把子...

今天上班开早会就是新人见面仪式&#xff0c;听说来了个很厉害的大佬&#xff0c;年纪还不大&#xff0c;是上家公司离职过来的&#xff0c;薪资已经达到中高等水平&#xff0c;很多人都好奇不已&#xff0c;能拿到这个薪资应该人不简单&#xff0c;果然&#xff0c;自我介绍的…

如何编写快速高效的SQL查询(四)——优化特定类型的查询与样例

这一节&#xff0c;我们将介绍如何优化特定类型的查询。 本节介绍的多数优化技巧都和特定的版本有关&#xff0c;所以对于未来MySQL的版本未必适用。毫无疑问&#xff0c;某一天优化器自己也会实现这里列出的部分或者全部优化技巧。 优化COUNT()查询 COUNT()聚合函数&#xf…

Hive安装部署

1、Hive安装地址 ①Hive官网地址 Apache Hive ②文档查看地址 GettingStarted - Apache Hive - Apache Software Foundation ③下载地址 Index of /dist/hive ④github地址 GitHub - apache/hive: Apache Hive 2、 安装Hive 1&#xff09;把apache-hive-3.1.3-bin.ta…

“AI换脸”诈骗背后,如何应对黑灰产使用手段?

目录 诈骗是如何发生的&#xff1f; AI换脸诈骗的操作防范 AI换脸的风险分析与技术防范 近日&#xff0c;警方通报了一起使用智能AI技术进行电信诈骗的案件。被骗者是福州市某科技公司法人代表郭先生&#xff0c;他通过微信视频接到自己好友的电话&#xff0c;对方佯装需要借…

帕累托改进和帕累托最优、卡尔多-希克斯改进

根据目标个数&#xff0c;分为单目标规划&#xff0c;以及多目标规划。多目标的规划是去找折中的解集合&#xff0c;既pareto最优解集合。对优化目标超过3个以上的&#xff0c;称之为超多目标优化问题。 帕累托改进描述的就是在没有人变得不好的前提下让有些人更好的过程。帕累…

GPT虚拟直播Demo系列(二)|无人直播间实现虚拟人回复粉丝

摘要 虚拟人和数字人是人工智能技术在现实生活中的具体应用&#xff0c;它们可以为人们的生活和工作带来便利和创新。在直播间场景里&#xff0c;虚拟人和数字人可用于直播主播、智能客服、营销推广等。接入GPT的虚拟人像是加了超强buff&#xff0c;具备更强大的自然语言处理能…

Postman 接口测试神器

Postman 接口测试神器 Postman 是一个接口测试和 http 请求的神器&#xff0c;非常好用。 官方 github 地址: Postman Inc. GitHub Postman 的优点&#xff1a; 支持各种的请求类型: get、post、put、patch、delete 等支持在线存储数据&#xff0c;通过账号就可以进行迁移…

HY-M5 三维机器视觉系统在工业自动化生产的应用

行业背景&#xff1a; 如今科学技术有了日新月异的变化&#xff0c;工业自动化也在不断地发展。然而&#xff0c;在高强度、高精准的工作环境下&#xff0c;人工操作已经不能适应企业的发展需求&#xff0c;于是机器人的出现便提供了高效快捷的解决方案。为了实现自动化生产并确…

AUTOSAR通信篇 - CAN网络通信(二:CanIf)

在上一篇&#xff0c;我们介绍了CAN模块&#xff0c;接下来我们介绍在CAN模块之上的模块Can Interface&#xff08;CanIf&#xff09;模块。在AUTOSAR软件架构中&#xff0c;CanIf也在BSW层&#xff0c;它处于CAN模块之上紧挨着CAN模块。CanIf是一个硬件独立层&#xff0c;具有…

【MySQL】如何实现单表查询?

在我们对数据进行操作时&#xff0c;查询无疑是至关重要的&#xff0c;查询操作灵活多变&#xff0c;我们可以根据开发的需求&#xff0c;设计高效的查询操作&#xff0c;把数据库中存储的数据展示给用户。 文章目录 前言1. 基础查询1.1 基础查询语法1.2 基础查询练习 2. 条件查…

算法与数据结构-复杂度分析(上)

文章目录 什么是大 O 复杂度表示法为什么要用大 O 复杂度表示法如何分析一段代码的时间复杂度1、只关注循环执行次数最多的一段代码2、加法法则&#xff1a;总复杂度等于量级最大的那段代码的复杂度3、乘法法则&#xff1a;嵌套代码的复杂度等于嵌套内外代码复杂度的乘积 几种常…

Unity老动画系统Animation

1、创建老动画系统 给要制作动画的GameObeject添加Animation组件 2、Animation参数 Animation&#xff1a;默认播放的动画 Animations&#xff1a;该动画组件可以控制的所有动画 Play AutoMatically&#xff1a;是否一开始就自动播放默认动画 Animate Physics&#xff1a;动画…

【JavaSE】Java基础语法(三十二):Stream流

文章目录 1. 体验Stream流2. Stream流的常见生成方式3. Stream流中间操作方法【应用】4. Stream流终结操作方法【应用】5. Stream流的收集操作 1. 体验Stream流 案例需求 按照下面的要求完成集合的创建和遍历 创建一个集合&#xff0c;存储多个字符串元素把集合中所有以"…

Python文件打包成exe文件

文章目录 背景安装pyinstaller开始打包总结 背景 今天因为在线将pdf转为word被收费了&#xff0c;有点不爽&#xff0c;所以自己动手撸一个pdf转word的小工具&#xff0c;想着打包成exe给朋友使用&#xff0c;万一哪天会用到呢&#xff1f; 安装pyinstaller 打开cmd命令窗口…

【AGC】云监控日志服务查询不到Logger日志相关问题

【关键字】 AGC、云监控、日志服务 【问题描述】 开发者反馈在使用AGC云监控&#xff0c;填写了Logger日志&#xff0c;但是在云监控的日志服务查不到的问题。具体如下所述&#xff1a; 云函数按要求写了Logger日志&#xff0c;但是在云监控的日志服务页面查询不到&#xff…

R语言混合效应(多水平/层次/嵌套)模型及 贝叶斯实现技术

回归分析是科学研究中十分重要的数据分析工具。随着现代统计技术发展&#xff0c;回归分析方法得到了极大改进。混合效应模型&#xff08;Mixed effect model&#xff09;&#xff0c;即多水平模型&#xff08;Multilevel model&#xff09;/分层模型(Hierarchical Model)/嵌套…

【计算思维题】少儿编程 蓝桥杯青少组计算思维 数学逻辑思维真题详细解析第7套

少儿编程 蓝桥杯青少组计算思维 数学逻辑思维真题详细解析第7套 1、下图中,乐乐家的位置用数对(4,3)表示,学校在乐乐家西南方向。下列选项中,学校的位置不可能是 A、(5,4) B、(2,2) C、(2,1) D、(1,2) 答案:A 考点分析:主要考查小朋友们的观察能力和方…