中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

Collection接口的基本介紹及用法

這篇文章主要介紹“Collection接口的基本介紹及用法”,在日常操作中,相信很多人在Collection接口的基本介紹及用法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Collection接口的基本介紹及用法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

成都創(chuàng)新互聯(lián)不只是一家網(wǎng)站建設的網(wǎng)絡公司;我們對營銷、技術、服務都有自己獨特見解,公司采取“創(chuàng)意+綜合+營銷”一體化的方式為您提供更專業(yè)的服務!我們經(jīng)歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關注我們的網(wǎng)站設計、網(wǎng)站制作質(zhì)量和服務品質(zhì),在得到用戶滿意的同時,也能得到同行業(yè)的專業(yè)認可,能夠為行業(yè)創(chuàng)新發(fā)展助力。未來將繼續(xù)專注于技術創(chuàng)新,服務升級,滿足企業(yè)一站式成都全網(wǎng)營銷推廣需求,讓再小的品牌網(wǎng)站設計也能產(chǎn)生價值!

Collection子接口

List

  • List是一個有序的集合,可控制元素插入的順序,也可根據(jù)下標直接訪問操作元素。

  • List通常允許包含重復的元素,包括重復的null元素。

Set

  • Set不允許包含重復的元素,底層通過Map實現(xiàn)。

  • 通常Set是無序的,不保證元素的插入順序;部分實現(xiàn)除外(LinkedHashSet)。

Queue

  • Queue(隊列)是一個專為進行處理前保存元素而設計的集合。

  • 除了Collection接口中基本操作外,Queue還提供了其它的插入、獲取和檢查操作;每種操作有兩種形式的方法:一種是當操作失敗時拋出異常,另一種是失敗時返回特殊的值(null or false)。

  • Queue通常不允許插入null元素,然而一些實現(xiàn)類比如LinkedList,并不禁止null值的插入。但是我們?nèi)匀恍枰苊獠迦雗ull元素,因為當Queue為空時,poll()會返回null。

Collection源碼解析
public interface Collection<E> extends Iterable<E> {
    /** 返回當前集合中元素的數(shù)量;如果集合中包含的元素數(shù)量大于Integer.MAX_VALUE 則直接返回Integer.MAX_VALUE **/
    int size();
    
    /** 返回當前集合是否不包含任何元素 **/
    boolean isEmpty();
        
    /** 返回一個包含當前集合中所有元素的Object數(shù)組 **/
    Object[] toArray();
    
    /** 返回一個包含當前集合中所有元素的指定類型T數(shù)組 **/
    <T> T[] toArray(T[] a);
    
    /** 返回當前集合是否包含指定的元素o **/
    boolean contains(Object o);

    /** 返回當前集合是否包含指定集合c中的所有元素 **/
    boolean containsAll(Collection<?> c);

    /** 往當前集合中添加元素e **/
    boolean add(E e);
       
    /** 添加指定集合c中的所有元素到當前集合 **/
    boolean addAll(Collection<? extends E> c);
    
    /** 從當前集合中移除指定元素e,如果集合中包含多個相同元素,則移除第一個 **/
    boolean remove(Object e);
    
    /** 從當前集合中移除指定集合c中包含的所有元素 **/
    boolean removeAll(Collection<?> c);
    
    /** 只保留當前集合與指定集合c中都存在的元素 **/
    boolean retainAll(Collection<?> c);
    
    /** 移除當前集合中所有的元素 **/
    void clear();
    
    /** 從當前集合中移除所有符合指定條件filter的元素;JDK1.8新增的方法 **/
    default boolean removeIf(Predicate<? super E> filter) {
        Objects.requireNonNull(filter);
        boolean removed = false;
        final Iterator<E> each = iterator();
        while (each.hasNext()) {
            if (filter.test(each.next())) {
                each.remove();
                removed = true;
            }
        }
        return removed;
    }
    
    /** 以當前集合作為數(shù)據(jù)源返回一個連續(xù)的Stream;JDK1.8新增的方法  **/
    default Stream<E> stream() {
        return StreamSupport.stream(spliterator(), false);
    }
    
    /** 以當前集合作為數(shù)據(jù)源返回一個可能并行的Stream;JDK1.8新增的方法  **/
    default Stream<E> parallelStream() {
        return StreamSupport.stream(spliterator(), true);
    }
    
    /** 返回當前集合的迭代器 繼承自Iterable接口 **/
    Iterator<E> iterator();
    
    /** 返回一個可分割迭代器,增加并行處理能力;繼承自Iterable接口;JDK1.8新增的方法 **/
    @Override
    default Spliterator<E> spliterator() {
        return Spliterators.spliterator(this, 0);
    }
}

到此,關于“Collection接口的基本介紹及用法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

分享名稱:Collection接口的基本介紹及用法
轉載來于:http://www.rwnh.cn/article48/jeedhp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)外貿(mào)建站、網(wǎng)站營銷、動態(tài)網(wǎng)站品牌網(wǎng)站設計、網(wǎng)站設計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設計
中方县| 合山市| 锦州市| 类乌齐县| 延安市| 克什克腾旗| 安宁市| 鹿邑县| 拉孜县| 贡山| 准格尔旗| 靖宇县| 莆田市| 娱乐| 西平县| 岗巴县| 张北县| 吉隆县| 三河市| 武清区| 富阳市| 东安县| 东乌珠穆沁旗| 永新县| 五大连池市| 苏尼特右旗| 盘锦市| 平乡县| 皋兰县| 兴城市| 诸暨市| 科尔| 佛教| 龙陵县| 金湖县| 离岛区| 静宁县| 九龙县| 彰化县| 华阴市| 上犹县|