成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Collection接口詳解

IamDLY / 2884人閱讀

摘要:接口接口作為集合類的父類接口,位于包下,定義了很多集合操作的方法。今天我希望通過對源碼的查閱來對接口有所認(rèn)識,下面我們直接進(jìn)入源碼分析接口源碼可以看出,接口繼承接口。

Collection接口

Collection接口作為集合類的父類接口,Collectio位于java.util包下,Collectio定義了很多集合操作的方法。今天我希望通過對源碼的查閱來對Collection接口有所認(rèn)識,下面我們直接進(jìn)入源碼分析:

Collection接口源碼


可以看出,Collection接口繼承Iterable接口。

Collection接口方法匯總以及詳解
package java.util;

import java.util.function.Predicate;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;

public interface Collection extends Iterable {
    /**
     * @return 用于返回集合中元素的個數(shù)(最大個數(shù))
     */
    int size();

    /**
     * @return 用于判斷集合中是否存在某個元素,不存在返回true
     */
    boolean isEmpty();

    /**
     * 判斷集合中是否存在指定元素,存在返回true
     *
     * @param o是用于判斷的元素
     */
    boolean contains(Object o);

    /**
     * @return 返回可用于遍歷的迭代器
     */
    Iterator iterator();

    /**
     * @return 將集合轉(zhuǎn)變成數(shù)組
     */
    Object[] toArray();

    /**
     * @return 將指定集合轉(zhuǎn)變成對應(yīng)的數(shù)組
     */
     T[] toArray(T[] a);


    /**
     * @return 往集合中添加元素,添加成功返回true
     */
    boolean add(E e);

    /**
     * @return 在集合中刪除指定的元素,成功返回true
     */
    boolean remove(Object o);

    /**
     * @return 判斷集合中是否包含集合C,如果包含返回true
     */
    boolean containsAll(Collection c);

    /**
     * @return 將集合C添加到集合中,添加成功返回true
     */
    boolean addAll(Collection c);

    /**
     * @return 從集合中刪除集合C,刪除成功返回true
     */
    boolean removeAll(Collection c);

    /**
     * @return 刪除集合中復(fù)合條件的元素,刪除成功返回true
     * @since 1.8
     */
    default boolean removeIf(Predicate filter) {
        Objects.requireNonNull(filter);
        boolean removed = false;
        final Iterator each = iterator();
        while (each.hasNext()) {
            if (filter.test(each.next())) {
                each.remove();
                removed = true;
            }
        }
        return removed;
    }

    /**
     * @return 保留集合中集合C中的元素
     */
    boolean retainAll(Collection c);

    /**
     * 清空集合中的所有元素
     */
    void clear();

    /**
     * @return 比較O與集合中的元素
     */
    boolean equals(Object o);

    /**
     * @return 返回此集合的哈希碼值。
     */
    int hashCode();

    /**
     *
     * @return a {@code Spliterator} over the elements in this collection
     * @since 1.8
     */
    @Override
    default Spliterator spliterator() {
        return Spliterators.spliterator(this, 0);
    }

    /**
     * @return a sequential {@code Stream} over the elements in this collection
     * @since 1.8
     */
    default Stream stream() {
        return StreamSupport.stream(spliterator(), false);
    }

    /**
     * @return a possibly parallel {@code Stream} over the elements in this
     * collection
     * @since 1.8
     */
    default Stream parallelStream() {
        return StreamSupport.stream(spliterator(), true);
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/69749.html

相關(guān)文章

  • Java常見集合知識詳解

    摘要:集合的種類常見的集合類分如下幾個種類詳解接口是和接口的父接口,也是集合類除外根接口。接口集合中元素的存放特點是元素有序,同一元素可重復(fù)。總結(jié)中集合是一個非常重要的知識點,在實際運用中也是常常會使用到。 集合的種類 常見的集合類分如下幾個種類: Collection - List - ArrayList - LinkedList - Set - HashSet...

    lewinlee 評論0 收藏0
  • 轉(zhuǎn) | Java8初體驗(二)Stream語法詳解

    摘要:第一個函數(shù)生成一個新的實例第二個函數(shù)接受兩個參數(shù),第一個是前面生成的對象,二個是中包含的元素,函數(shù)體就是把中的元素加入對象中。 感謝同事【天錦】的投稿。投稿請聯(lián)系 [email protected] 上篇文章[Java8初體驗(一)lambda表達(dá)式語法]()比較詳細(xì)的介紹了lambda表達(dá)式的方方面面,細(xì)心的讀者會發(fā)現(xiàn)那篇文章的例子中有很多Stream的例子。這些Stream的例子可...

    taoszu 評論0 收藏0
  • java高并發(fā)系列 - 第20天:JUC中的Executor框架詳解2

    摘要:示例執(zhí)行一批任務(wù),然后消費執(zhí)行結(jié)果代碼如下跟著阿里學(xué)并發(fā),微信公眾號輸出代碼中傳入了一批任務(wù)進(jìn)行處理,最終將所有處理完成的按任務(wù)完成的先后順序傳遞給進(jìn)行消費了。 這是java高并發(fā)系列第20篇文章。 本文內(nèi)容 ExecutorCompletionService出現(xiàn)的背景 介紹CompletionService接口及常用的方法 介紹ExecutorCompletionService類及...

    msup 評論0 收藏0
  • Java8-9-Stream介紹與操作方式詳解

    摘要:中的與表達(dá)式可以說是相伴相生的,通過我們可以更好的更為流暢更為語義化的操作集合。流是一種惰性操作,所有對源數(shù)據(jù)的計算只在終止操作被初始化的時候才會執(zhí)行。然后傳入表達(dá)式將每個元素轉(zhuǎn)換大寫,通過方法將結(jié)果收集到中。 上一篇系統(tǒng)學(xué)了方法引用的幾種類型及應(yīng)用場景,本篇開始我們正式學(xué)習(xí)Stream。Java8中的Stream與lambda表達(dá)式可以說是相伴相生的,通過Stream我們可以更好的更...

    時飛 評論0 收藏0
  • Java深入-框架技巧

    摘要:從使用到原理學(xué)習(xí)線程池關(guān)于線程池的使用,及原理分析分析角度新穎面向切面編程的基本用法基于注解的實現(xiàn)在軟件開發(fā)中,分散于應(yīng)用中多出的功能被稱為橫切關(guān)注點如事務(wù)安全緩存等。 Java 程序媛手把手教你設(shè)計模式中的撩妹神技 -- 上篇 遇一人白首,擇一城終老,是多么美好的人生境界,她和他歷經(jīng)風(fēng)雨慢慢變老,回首走過的點點滴滴,依然清楚的記得當(dāng)初愛情萌芽的模樣…… Java 進(jìn)階面試問題列表 -...

    chengtao1633 評論0 收藏0

發(fā)表評論

0條評論

IamDLY

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<