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.pswp.cn/news/716531.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/716531.shtml
英文地址,請注明出處:http://en.pswp.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;單…