欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java 數(shù)據(jù)結(jié)構(gòu)算法Collection接口迭代器示例詳解

 更新時(shí)間:2022年09月15日 14:35:16   作者:程序喵正在路上  
這篇文章主要為大家介紹了Java 數(shù)據(jù)結(jié)構(gòu)算法Collection接口迭代器示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

Java合集框架

數(shù)據(jù)結(jié)構(gòu)是以某種形式將數(shù)據(jù)組織在一起的合集(collection)。數(shù)據(jù)結(jié)構(gòu)不僅存儲(chǔ)數(shù)據(jù),還支持訪問(wèn)和處理數(shù)據(jù)的操作

在面向?qū)ο蟮乃枷肜铮环N數(shù)據(jù)結(jié)構(gòu)也被認(rèn)為是一個(gè)容器(container)或者容器對(duì)象(container object),它是一個(gè)能存儲(chǔ)其他對(duì)象的對(duì)象,這里的其他對(duì)象常被稱為數(shù)據(jù)或者元素

定義一種數(shù)據(jù)結(jié)構(gòu)從實(shí)質(zhì)上講就是定義一個(gè)類。數(shù)據(jù)結(jié)構(gòu)類應(yīng)該使用數(shù)據(jù)域存儲(chǔ)數(shù)據(jù),并提供方法支持查找、插入和刪除等操作

Java 提供了很多能有效地組織和操作數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。這些數(shù)據(jù)結(jié)構(gòu)通常稱為 Java 合集框架(Java Collections Framework

Collection接口

Collection 接口為線性表、向量、棧、隊(duì)列、優(yōu)先隊(duì)列以及集合定義了共同的操作

SetListCollection 的子接口

下面是實(shí)現(xiàn) Collection 的子接口、實(shí)現(xiàn)子接口的抽象類以及后面的具體類

Collection 接口中定義了以下方法:

方法及返回類型描述
add(o: E) : boolean添加一個(gè)新的元素 o 到合集中
addAll(c: Collection<? extends E>) : boolean將合集 c 中的所有元素添加到該合集中
clear() : void從該合集刪除所有元素
contains(o: Object) : boolean如果該合集包含元素 o,則返回 true
containsAll(c : Collection<?>) : boolean如果該合集包含 c 中所有的元素,則返回 true
equals(o: Object) : boolean如果該合集等同于另外一個(gè)合集 o,則返回 true
hashCode() : int返回該合集的哈希碼
isEmpty() : boolean如果該合集沒(méi)有包含元素,則返回 true
remove(o: Object) : boolean從該合集中移除元素 o
removeAll(c: Collectioin<?>) : boolean從該合集中移除 c 中的所有元素
retainAll(c: Collectioin<?>) : boolean保留同時(shí)位于 c 和該合集中的元素
size() : int返回該合集中的元素?cái)?shù)目
toArray() : Object[]為該合集中的元素返回一個(gè) Object 數(shù)組

Collection 接口提供了在集合中添加與刪除元素的基本操作。add 方法給合集添加一個(gè)元素,addAll 方法把指定合集中的所有元素添加到這個(gè)合集中,remove 方法從元素中刪除一個(gè)元素,removeAll 方法從這個(gè)合集中刪除指定合集中的所有元素,retainAll 方法保留既出現(xiàn)在這個(gè)合集中也出現(xiàn)在指定合集中的元素。所有這些方法都返回 boolean 值,如果執(zhí)行方法改變了這個(gè)合集,那么返回值為 true。clear 方法簡(jiǎn)單地移除合集中的所有元素

方法 addAll、removeAllretainAll 類似于集合上的并、差、交運(yùn)算

Collection 接口提供了多種查詢操作,方法 size 返回合集中元素的個(gè)數(shù),方法 contains 檢測(cè)合集中是否包含指定的元素,方法 containsAll 檢測(cè)這個(gè)合集中是否包含指定合集中的所有元素。如果合集為空,方法 isEmpty 返回 true

Collection 接口的 toArray 方法返回一個(gè)合集的數(shù)組表

迭代器

每種合集都是可迭代的(Iterable),可以獲得合集的 Iterator 對(duì)象來(lái)遍歷合集中的所有元素

Iterator 是一種經(jīng)典的設(shè)計(jì)模式,用于在不需要暴露數(shù)據(jù)是如何保存在數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)的情況下,來(lái)遍歷一個(gè)數(shù)據(jù)結(jié)構(gòu)

Iterable 接口中定義了以下方法:

方法及返回類型描述
iterator() : Iterator<E>為該合集中的元素返回一個(gè)迭代器

Iterator 接口中定義了以下方法:

方法及返回類型描述
hasNext() : boolean如果該迭代器還要遍歷更多元素,則返回 true
next() : E返回該迭代器中的下一個(gè)元素
remove() : void移除使用 next 方法獲取的上一個(gè)元素

Collection 接口繼承自 Iterable 接口,Iterable 接口定義了 iterator 方法,該方法會(huì)返回一個(gè)迭代器

Iterator 接口為遍歷各種類型的合集中的元素提供了一種統(tǒng)一的方法,Iterator 接口中的 iterator() 方法會(huì)返回一個(gè) Iterator 的實(shí)例,這個(gè)實(shí)例可以使用 next() 方法對(duì)合集中的元素進(jìn)行順序訪問(wèn),使用 hasNext() 方法來(lái)檢測(cè)迭代器中是否還有更多的元素,以及使用 remove() 方法來(lái)移除迭代器返回的最后一個(gè)元素

寫一個(gè)案例感受一下迭代器的魅力

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class TestIterator {
    public static void main(String[] args) {
        Collection&lt;String&gt; collection = new ArrayList&lt;&gt;();
        collection.add("Hello");
        collection.add("World");
        collection.add("Java");
        //遍歷方法一
        Iterator&lt;String&gt; iterator = collection.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next().toUpperCase());
        }
        //遍歷方法二
        for (String c : collection) {
            System.out.println(c.toUpperCase());
        }
    }
}

運(yùn)行結(jié)果如下

以上就是Java 數(shù)據(jù)結(jié)構(gòu)算法Collection接口迭代器示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Java Collection接口迭代器的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論