您好,登錄后才能下訂單哦!
這篇文章主要介紹“Collection接口的基本介紹及用法”,在日常操作中,相信很多人在Collection接口的基本介紹及用法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Collection接口的基本介紹及用法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
List是一個有序的集合,可控制元素插入的順序,也可根據(jù)下標直接訪問操作元素。
List通常允許包含重復的元素,包括重復的null元素。
Set不允許包含重復的元素,底層通過Map實現(xiàn)。
通常Set是無序的,不保證元素的插入順序;部分實現(xiàn)除外(LinkedHashSet)。
Queue(隊列)是一個專為進行處理前保存元素而設(shè)計的集合。
除了Collection接口中基本操作外,Queue還提供了其它的插入、獲取和檢查操作;每種操作有兩種形式的方法:一種是當操作失敗時拋出異常,另一種是失敗時返回特殊的值(null or false)。
Queue通常不允許插入null元素,然而一些實現(xiàn)類比如LinkedList,并不禁止null值的插入。但是我們?nèi)匀恍枰苊獠迦雗ull元素,因為當Queue為空時,poll()會返回null。
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); } }
到此,關(guān)于“Collection接口的基本介紹及用法”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。