Java 中对包含关系的判断

        本文将为您详细讲解 Java 中对包含关系的判断,包括数组、字符串等,并提供相应的代码例子。


        1. 数组包含关系判断
在 Java 中,数组包含关系判断通常使用循环来实现。以下是几种常见的判断方法:
        示例 1:使用 for 循环判断数组是否包含元素


// 定义一个整数数组
int[] numbers = {1, 2, 3, 4, 5};
// 要检查的元素
int toFind = 3;
// 使用 for 循环判断数组是否包含 toFind 元素
boolean containsToFind = false;
for (int number : numbers) {if (number == toFind) {containsToFind = true;break;}
}
// 输出结果
System.out.println(containsToFind); // 输出: true


        示例 2:使用 Java 8 的 Stream API 判断数组是否包含元素


// 定义一个整数数组
int[] numbers = {1, 2, 3, 4, 5};
// 要检查的元素
int toFind = 3;
// 使用 Stream API 判断数组是否包含 toFind 元素
boolean containsToFind = Arrays.stream(numbers).anyMatch(number -> number == toFind);
// 输出结果
System.out.println(containsToFind); // 输出: true


         2. 字符串包含关系判断
在 Java 中,字符串包含关系判断通常使用 `String` 类的 `contains()` 方法。这个方法返回一个布尔值,表示字符串是否包含指定的子串。
        示例 1:字符串中包含子串


// 定义一个字符串
String sentence = "Hello, world!";
// 判断字符串是否包含 'world'
boolean containsWorld = sentence.contains("world");
// 输出结果
System.out.println(containsWorld); // 输出: true


        示例 2:字符串中不包含子串


// 定义一个字符串
String sentence = "Hello, world!";
// 判断字符串是否包含 'WORLD'(不区分大小写)
boolean containsWorld = sentence.contains("WORLD".toLowerCase());
// 输出结果
System.out.println(containsWorld); // 输出: true


        3. 集合包含关系判断
在 Java 中,集合(如 List、Set 等)包含关系判断通常使用相应的 `contains()` 方法。
        示例 1:List 中包含元素


// 定义一个整数 List
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
// 要检查的元素
int toFind = 3;
// 判断 List 是否包含 toFind 元素
boolean containsToFind = numbers.contains(toFind);
// 输出结果
System.out.println(containsToFind); // 输出: true


        示例 2:Set 中包含元素


// 定义一个整数 Set
Set<Integer> numbers = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
// 要检查的元素
int toFind = 3;
// 判断 Set 是否包含 toFind 元素
boolean containsToFind = numbers.contains(toFind);
// 输出结果
System.out.println(containsToFind); // 输出: true


        4. 对象包含关系判断
在 Java 中,对象包含关系判断通常使用 `equals()` 方法来实现。
        示例 1:对象数组中包含特定对象


// 定义一个对象数组和一个对象
Person[] people = {new Person("Alice", 25), new Person("Bob", 30)};
Person person = new Person("Alice", 25);
// 判断对象数组是否包含 person 对象
boolean containsPerson = false;
for (Person p : people) {if (p.equals(person)) {containsPerson = true;break;}
}
// 输出结果
System.out.println(containsPerson); // 输出: true


        示例 2:对象集合中包含特定对象


// 定义一个 Person 类
class Person {String name;int age;Person(String name, int age) {this.name = name;this.age = age;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Person person = (Person) o;return age == person.age && name.equals(person.name);}
}
// 定义一个 Person 集合和一个 Person 对象
Set<Person> people = new HashSet<>(Arrays.asList(new Person("Alice", 25), new Person("Bob", 30)));
Person person = new Person("Alice", 25);
// 判断 Person 集合是否包含 person 对象
boolean containsPerson = people.contains(person);
// 输出结果
System.out.println(containsPerson); // 输出: true


        5. 数组与集合结合的包含关系判断
在 Java 中,数组与集合结合的包含关系判断通常需要使用一些组合方法。
        示例 1:数组中包含集合


// 定义一个整数数组和一个整数集合
int[] array = {1, 2, 3, 4, 5};
Set<Integer> set = new HashSet<>(Arrays.asList(3, 4, 5));
// 判断数组是否包含集合中的所有元素
boolean containsSet = set.stream().allMatch(array::contains);
// 输出结果
System.out.println(containsSet); // 输出: true


        示例 2:集合中包含数组


// 定义一个整数集合和一个整数数组
Set<Integer> set = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
int[] array = {3, 4, 5};
// 判断集合是否包含数组中的所有元素
boolean containsArray = Arrays.stream(array).allMatch(set::contains);
// 输出结果
System.out.println(containsArray); // 输出: true


        6. 总结
        在 Java 中,对包含关系的判断有多种方式,包括数组、字符串、集合等。对于数组,可以使用循环或 Java 8 的 Stream API;对于字符串,可以使用 `contains()` 方法;对于集合,可以使用相应的 `contains()` 方法。在实际应用中,需要根据具体情况选择合适的方法进行包含关系判断。
希望这个详细的讲解能够帮助您更好地理解 Java 中对包含关系的判断。如果您有任何问题或需要进一步的解释,请随时提问。

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

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

相关文章

Unity曲柄滑块四杆机构运动计算

一、运动效果 二、机构的介绍 曲柄长度&#xff1a;a&#xff0c;线段AB长度 连杆长度&#xff1a;b&#xff0c;线段BC长度 偏心距离&#xff1a;e&#xff0c;滑块轨迹与曲柄中心点A的垂直距离 三、已知点A点B和e的值&#xff0c;计算C点的位置 1、计算s的值 var h math.…

通过多进程并发方式(fork)实现服务器(注意要回收子进程)

以下内容为视频学习记录。 1、父进程accept后返回的文件描述符为cfd以及用于创建连接的lfd; 调用fork()创建子进程后&#xff0c;子进程继承cfd,lfd&#xff0c;通过该cfd与连接过来的客户端通信,lfd对子进程来说没用&#xff0c;可以直接close(lfd); 对于父进程来说&#x…

双非二本找实习前的准备day4

学习目标&#xff1a; 每天2-3到简单sql&#xff08;刷完即止&#xff09;&#xff0c;每天复习代码随想录上的题目3道算法&#xff08;时间充足可以继续&#xff09;&#xff0c;背诵的八股的问题也在这里记录了 今日碎碎念&#xff1a; 1&#xff09;偶尔还是贪玩游戏&…

Vue中的计算属性和方法有什么区别?

Vue.js是一款流行的JavaScript前端框架&#xff0c;提供了丰富的功能和便捷的开发方式。在Vue中&#xff0c;计算属性和方法是常用的两种方式来处理数据和逻辑。但它们之间存在一些区别&#xff0c;本文将详细介绍Vue中计算属性和方法的区别&#xff0c;并通过示例代码加深理解…

183896-00-6,Biotin-C3-PEG3-C3-NH2,可以选择性降解靶蛋白

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;183896-00-6&#xff0c;Biotin-C3-PEG3-C3-NH2&#xff0c;Biotin-C3-PEG3-C3-amine&#xff0c;生物素-C3-PEG3-C3-胺 一、基本信息 【产品简介】&#xff1a;Biotin-PEG3-C3-NH2是一种PROTAC linker&#xff0c;…

381. 有线电视网络(网络流,最小割,《算法竞赛进阶指南》)

381. 有线电视网络 - AcWing题库 给定一张 n 个点 m 条边的无向图&#xff0c;求最少去掉多少个点&#xff0c;可以使图不连通。 如果不管去掉多少个点&#xff0c;都无法使原图不连通&#xff0c;则直接返回 n。 输入格式 输入包含多组测试数据。 每组数据占一行&#xf…

Python推导式大全与实战:精通列表、字典、集合和生成器推导式【第115篇—python:推导式】

Python推导式大全与实战&#xff1a;精通列表、字典、集合和生成器推导式 Python语言以其简洁、优雅的语法而闻名&#xff0c;其中推导式是其独特之处之一。推导式是一种在一行代码中构建数据结构的强大方式&#xff0c;它涵盖了列表、字典、集合和生成器。本篇博客将全面介绍…

YOLOv8实例分割实战:ONNX模型转换及TensorRT部署

课程链接&#xff1a;https://edu.csdn.net/course/detail/39320 PyTorch版的YOLOv8支持高性能的实时实例分割。 TensorRT是针对英伟达GPU的加速工具。 ONNX &#xff08;Open Neural Network Exchange&#xff09; 作为一个开放的网络模型中间表示&#xff08;IR&#xff0…

Redis命令大全

通用命令 KEYS pattern&#xff1a;查找所有符合给定模式&#xff08;pattern&#xff09;的 key。EXISTS key&#xff1a;检查指定 key 是否存在。TYPE key&#xff1a;返回指定 key 的数据类型。DEL key [key …]&#xff1a;删除指定的 key。RENAME key newkey&#xff1a;…

spring boot 修复 Spring Framework URL解析不当漏洞(CVE-2024-22243)

漏洞描述 当应用程序使用UriComponentsBuilder来解析外部提供的URL&#xff08;如通过查询参数&#xff09;并对解析的URL的主机执行验证检查时可能容易受到Open重定向攻击和SSRF攻击&#xff0c;导致网络钓鱼和内部网络探测等。 受影响产品或系统 6.1.0 < Spring Framew…

Vue项目的快速搭建

Vue项目的快速搭建 一、下载并安装node.js二、安装Vue脚手架三、创建vue项目四、项目启动五、VS Code下载安装 一、下载并安装node.js 首先确保已经安装了Node.js。如果没有安装&#xff0c;可以去官网&#xff08;https://nodejs.org/&#xff09;下载并安装最新版本的Node.j…

基于STC12C5A60S2系列1T 8051单片机的TM1638键盘数码管模块的数码管显示应用

基于STC12C5A60S2系列1T 8051单片机的TM1638键盘数码管模块的数码管显示应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍TM1638键盘数码管模块概述TM1638键盘数码管…

mybatis-传递参数的方式

mybatis 传递参数的7种方法 在实际开发过程中&#xff0c;增删改查操作都要涉及到请求参数的传递&#xff0c;今天这节就集中讲下在mybatis中传递参数的7中方法 单个参数的传递很简单没有什么好将的&#xff0c;这里主要说下多个参数的传递 1、第一种方式 匿名参数 顺序传递…

[electron]窗口 BrowserWindow

优雅的显示窗口 const {app, BrowserWindow} require(electron);function createMainwindow(){const mainwindow new BrowserWindow({x: 300,y: 400,width: 600,height: 600,});mainwindow.loadFile(index.html); }app.on(ready, ()>{createMainwindow(); });对于这样的代…

前端发起请求,后端模型需处理很久,怎样设置前端直接完成请求响应,后端计算完在返回结果给前端?

在这种情况下&#xff0c;可以采用异步处理的方式来解决。具体步骤如下&#xff1a; 前端发起请求&#xff1a;前端向后端发送请求&#xff0c;但是不等待后端处理完成而是立即得到响应。 后端异步处理&#xff1a;后端接收到请求后&#xff0c;不立即进行处理&#xff0c;而是…

Codeforces Round 886 (Div. 4)----->E. Cardboard for Pictures

一&#xff0c;思路&#xff1a; 这题我们可以通过二分 w来直接得到答案&#xff0c;时间复杂度是nlogn的级别&#xff0c;但是这里有个很坑的地方&#xff0c;就是假如你用二分做&#xff0c;会面临报 long long 的问题&#xff0c;但是问题不大&#xff0c;直接用 unsigned …

题目:金三银四求职季:如何脱颖而出

题目&#xff1a;金三银四求职季&#xff1a;如何脱颖而出 引言&#xff1a; 随着春天的脚步渐近&#xff0c;对于许多程序员来说&#xff0c;一年中最繁忙、最重要的面试季节也随之而来。金三银四&#xff0c;即三月和四月&#xff0c;被广大程序员视为求职的黄金时期。在这两…

蓝桥杯倒计时 41天 - KMP 算法

KMP算法 KMP算法是一种字符串匹配算法&#xff0c;用于匹配模式串P在文本串S中出现的所有位置。 例如S“ababac&#xff0c;P“aba”&#xff0c;那么出现的所有位置是13。 在初学KMP时&#xff0c;我们只需要记住和学会使用模板即可&#xff0c;对其原理只需简单理解&#xff…

用Socks5代理游戏,绕过“网络海关”去探险

1. 出海大冒险的开始 在游戏世界&#xff0c;就像在现实生活中一样&#xff0c;有时我们需要越过海洋去探索未知的世界。但是&#xff0c;网络上也有一些“海关”&#xff0c;限制我们访问某些网站或游戏服务器。这就是我们今天要克服的挑战&#xff01; 2. Socks5代理&#xf…

Django 官网项目 四

内容&#xff1a; 利用HTTP的post方法&#xff0c;更改数据并显示。 创建detail.html文件&#xff0c;来创建POST内容 修改应用的视图文件views.py&#xff0c;vote方法 修改应用的视图文件views.py&#xff0c;results方法。 创建results.html文件。 结果&#xff1a;单…