摘要:接口接口作為集合類的父類接口,位于包下,定義了很多集合操作的方法。今天我希望通過對源碼的查閱來對接口有所認識,下面我們直接進入源碼分析接口源碼可以看出,接口繼承接口。
Collection接口
Collection接口作為集合類的父類接口,Collectio位于java.util包下,Collectio定義了很多集合操作的方法。今天我希望通過對源碼的查閱來對Collection接口有所認識,下面我們直接進入源碼分析:
Collection接口源碼
可以看出,Collection接口繼承Iterable接口。
package java.util; import java.util.function.Predicate; import java.util.stream.Stream; import java.util.stream.StreamSupport; public interface Collectionextends Iterable { /** * @return 用于返回集合中元素的個數(最大個數) */ int size(); /** * @return 用于判斷集合中是否存在某個元素,不存在返回true */ boolean isEmpty(); /** * 判斷集合中是否存在指定元素,存在返回true * * @param o是用于判斷的元素 */ boolean contains(Object o); /** * @return 返回可用于遍歷的迭代器 */ Iterator iterator(); /** * @return 將集合轉變成數組 */ Object[] toArray(); /** * @return 將指定集合轉變成對應的數組 */ 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 extends E> c); /** * @return 從集合中刪除集合C,刪除成功返回true */ boolean removeAll(Collection> c); /** * @return 刪除集合中復合條件的元素,刪除成功返回true * @since 1.8 */ default boolean removeIf(Predicate super E> 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); } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69749.html
摘要:集合的種類常見的集合類分如下幾個種類詳解接口是和接口的父接口,也是集合類除外根接口。接口集合中元素的存放特點是元素有序,同一元素可重復。總結中集合是一個非常重要的知識點,在實際運用中也是常常會使用到。 集合的種類 常見的集合類分如下幾個種類: Collection - List - ArrayList - LinkedList - Set - HashSet...
摘要:第一個函數生成一個新的實例第二個函數接受兩個參數,第一個是前面生成的對象,二個是中包含的元素,函數體就是把中的元素加入對象中。 感謝同事【天錦】的投稿。投稿請聯系 tengfei@ifeve.com 上篇文章[Java8初體驗(一)lambda表達式語法]()比較詳細的介紹了lambda表達式的方方面面,細心的讀者會發現那篇文章的例子中有很多Stream的例子。這些Stream的例子可...
摘要:示例執行一批任務,然后消費執行結果代碼如下跟著阿里學并發,微信公眾號輸出代碼中傳入了一批任務進行處理,最終將所有處理完成的按任務完成的先后順序傳遞給進行消費了。 這是java高并發系列第20篇文章。 本文內容 ExecutorCompletionService出現的背景 介紹CompletionService接口及常用的方法 介紹ExecutorCompletionService類及...
摘要:中的與表達式可以說是相伴相生的,通過我們可以更好的更為流暢更為語義化的操作集合。流是一種惰性操作,所有對源數據的計算只在終止操作被初始化的時候才會執行。然后傳入表達式將每個元素轉換大寫,通過方法將結果收集到中。 上一篇系統學了方法引用的幾種類型及應用場景,本篇開始我們正式學習Stream。Java8中的Stream與lambda表達式可以說是相伴相生的,通過Stream我們可以更好的更...
摘要:從使用到原理學習線程池關于線程池的使用,及原理分析分析角度新穎面向切面編程的基本用法基于注解的實現在軟件開發中,分散于應用中多出的功能被稱為橫切關注點如事務安全緩存等。 Java 程序媛手把手教你設計模式中的撩妹神技 -- 上篇 遇一人白首,擇一城終老,是多么美好的人生境界,她和他歷經風雨慢慢變老,回首走過的點點滴滴,依然清楚的記得當初愛情萌芽的模樣…… Java 進階面試問題列表 -...
閱讀 1066·2023-04-26 02:02
閱讀 2404·2021-09-26 10:11
閱讀 3557·2019-08-30 13:10
閱讀 3749·2019-08-29 17:12
閱讀 725·2019-08-29 14:20
閱讀 2191·2019-08-28 18:19
閱讀 2236·2019-08-26 13:52
閱讀 962·2019-08-26 13:43