Java?實(shí)現(xiàn)判定順序表中是否包含某個(gè)元素(思路詳解)
一、思路
1.定義一個(gè)toFind變量來(lái)傳入要查找的元素
2.遍歷整個(gè)順序表并判定當(dāng)前下標(biāo)的元素等不等于toFind
3.如果等于就返回一個(gè)true,否則返回false。
二、圖解

首先調(diào)用以下的方法求出順序表的長(zhǎng)度,再使用 for 循環(huán)遍歷每一個(gè)元素。
// 求順序表的長(zhǎng)度
public int size() {
// 直接返回元素個(gè)數(shù)
return this.usedSize;
}
當(dāng)遍歷到第一個(gè)元素的時(shí)候,發(fā)現(xiàn)此時(shí)的元素為 12 不等于 toFind ,因此繼續(xù)往下查找。

當(dāng) i 走到下一個(gè)元素的時(shí)候,發(fā)現(xiàn)此時(shí)依然不等于 toFind 的值,因此繼續(xù)向后找。

發(fā)現(xiàn)此時(shí) i 下標(biāo)的值等于了 toFind 的值,因此也就說(shuō)明順序表中是有 toFind 這個(gè)元素的,
返回 true 即可。
如果遍歷了整個(gè)順序表后,都沒(méi)有找到與 toFind 相等的元素,那就說(shuō)明順序表中沒(méi)有這個(gè)元素,
返回 false 即可。

當(dāng)前 i 走到 3 下標(biāo)后發(fā)現(xiàn)此時(shí)是空的,那就說(shuō)明順序表已經(jīng)遍歷完畢了。
三、代碼
//判定是否包含某個(gè)元素 - toFind是我要判定的元素
public boolean contains(int toFind) {
//size()方法求的是順序表的長(zhǎng)度
for (int i = 0; i < this.size(); i++) {
if (this.elem[i] == toFind) {
return true; //找到了
}
}
return false;///沒(méi)找到
}
// 求順序表的長(zhǎng)度
public int size() {
// 直接返回元素個(gè)數(shù)
return this.usedSize;
}
以上是我當(dāng)前順序表中的元素。

判斷當(dāng)前順序表中是否有 3 和 1000 這兩個(gè)元素,鑒于以上順序表中的元素可以到結(jié)論。
會(huì)先輸出一個(gè) true,再輸出一個(gè) false。

可以看到此時(shí)輸出結(jié)果是正確的。
到此這篇關(guān)于Java 實(shí)現(xiàn)判定順序表中是否包含某個(gè)元素的方法的文章就介紹到這了,更多相關(guān)Java判定順序表是否包含某個(gè)元素內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之二叉堆
二叉堆是一種特殊的堆,其實(shí)質(zhì)是完全二叉樹(shù)。二叉堆有兩種:最大堆和最小堆。最大堆是指父節(jié)點(diǎn)鍵值總是大于或等于任何一個(gè)子節(jié)點(diǎn)的鍵值。而最小堆恰恰相反,指的是父節(jié)點(diǎn)鍵值總是小于任何一個(gè)子節(jié)點(diǎn)的鍵值2022-02-02
SpringBoot整合SSO(single sign on)單點(diǎn)登錄
這篇文章主要介紹了SpringBoot整合SSO(single sign on)單點(diǎn)登錄,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
java中的Timer和Timertask的關(guān)系解讀
本文詳細(xì)介紹了Java中的Timer和TimerTask類,包括它們之間的關(guān)系、API的使用方法、注意事項(xiàng)以及操作案例,Timer是一個(gè)調(diào)度器,而TimerTask是具體的任務(wù)類,Timer僅對(duì)應(yīng)一個(gè)線程,不保證任務(wù)執(zhí)行的精確性,但線程安全,一個(gè)Timer可以調(diào)度多個(gè)TimerTask2024-12-12
Java子類對(duì)象的實(shí)例化過(guò)程分析
這篇文章主要介紹了Java子類對(duì)象的實(shí)例化過(guò)程,結(jié)合具體實(shí)例形式分析了java子類對(duì)象的實(shí)例化的步驟、原理、實(shí)現(xiàn)方法,需要的朋友可以參考下2019-09-09
java中的Lambda表達(dá)式使用及說(shuō)明
文章介紹了Java?8中Lambda表達(dá)式的基本概念及其在Stream流操作中的應(yīng)用,Lambda表達(dá)式簡(jiǎn)化了函數(shù)式接口的實(shí)現(xiàn),與Stream結(jié)合使用更流暢,文章還提供了Lambda表達(dá)式的各種簡(jiǎn)化技巧和注意事項(xiàng),如方法引用、變量捕獲規(guī)則以及異常處理等2026-05-05
Spring操作JdbcTemplate數(shù)據(jù)庫(kù)的方法學(xué)習(xí)
這篇文章主要為大家介紹了Spring操作JdbcTemplate數(shù)據(jù)庫(kù)方法學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
SpringBoot整合Redis實(shí)現(xiàn)序列化的7種策略詳解
在分布式系統(tǒng)中,Redis作為高性能的緩存和數(shù)據(jù)存儲(chǔ)解決方案被廣泛應(yīng)用,本文將介紹SpringBoot中Redis的7種序列化策略,有需要的小伙伴可以根據(jù)需求進(jìn)行選擇2025-04-04
在eclipse中使用SVN的實(shí)現(xiàn)方法(圖文教程)
這篇文章主要介紹了在eclipse中使用SVN的實(shí)現(xiàn)方法(圖文教程),文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07

