查詢操做:java
/** * 返回集合中元素的個數,若是元素個數超過Integer.MAX_VALUE,則返回Integer.MAX_VALUE */ int size(); /** * 判斷集合中元素是否爲空 */ boolean isEmpty(); /** * 判斷集合中是否包含指定元素 */ boolean contains(Object o); /** * 返回一個迭代器,不保證迭代器中元素的順序,除非改集合實現類自己提供了保證 */ Iterator<E> iterator(); /** * 將集合轉換爲數組,數組中元素的順序與該集合產生迭代器中的順序一致 *這個方法是數組和列表之間的橋樑 */ Object[] toArray(); /** * 返回一個集合元素類型的數組。若是集合知足指定的數組而且有足夠的空間,則在其中返回此集合 *不然返回此集合大小的新數組。 *若是集合有序,那麼返回此集合迭代器遍歷順序的數組 *若是數組大小比集合元素多,那麼在數組知足集合元素後在末尾設置爲null *若是在數組中元素的類型不是集合中元素類型的超類,那麼拋ArrayStoreException異常 *若是指定數組爲空,則拋出NullPointerException */ <T> T[] toArray(T[] a);
修改操做:數組
/** * 確保此集合包含特定的元素類型。 若是此集合增長元素成功返回true。 若是此集合不容許有重複元素而且已經包含所傳參數,那麼返回false * 支持此操做的集合可能會限制向該集合添加哪些元素。特別的,有些集合會拒絕null元素,有些會對要增長的元素強加一些限制。 * Collection實現類應該在文檔中明確指出全部的限制。 * 若是集合以除已經包含元素以外的任何緣由拒絕添加特定元素,則必須拋出異常,(而不是返回false)。 這保留了集合在此調用返回後始終包含指定元素的不變式。 */ boolean add(E e); /** * 若是集合中包含此元素,則移除該元素; 若是集合中包含多個這樣的元素,則移除知足(o==null?e==null:o.equals(e))的元素; * 若是集合因該方法的調用而發生改變,則返回true; 若是指定元素的類型和集合不相容,拋出ClassCastException異常(可選的限制條件); * 若是指定元素是null而且這個集合不容許null元素存在,那麼拋出NullPointerException異常(可選的限制條件) * 若是此集合不支持remove操做那麼拋出UnsupportedOperationException異常(可選的限制條件) */ boolean remove(Object o);
批量操做:多線程
/** * 若是this集合包含指定集合的全部元素,返回true * 若是該集合中元素的類型和this集合不相容,拋出ClassCastException異常(可選的限制條件) * 若是該集合中元素有一個或多個null而且this集合不容許null元素存在,那麼拋出NullPointerException異常(可選的限制條件) */ boolean containsAll(Collection<?> c); /** * 將指定集合的全部元素到this集合中(可選的操做)。 若是指定的集合在操做進行時被修改了,那麼此操做行爲未定義。 * (這意味着若是指定的集合是這個集合,而且這個集合是非空的,那麼這個調用的行爲是未定義的。) 若是調用結果改變了this集合返回true 若是 * addAll操做不被此集合支持,那麼拋出UnsupportedOpertaionException異常 * 若是指定集合包含了空元素而this集合不容許有空元素,那麼拋出NullPointerException異常 * 若是this集合阻止hiding集合元素類型添加,那麼拋出ClassCastException異常 * 若是指定集合的元素的某些屬性阻止將其添加到此集合,則拋出IllegalArgumentException * 因爲插入限制,若是不是全部元素均可以在此時添加,則拋出IllegalStateException異常 */ boolean addAll(Collection<? extends E> c); /** * 移除此集合中全部的包含在指定集合中的元素(可選的操做)。調用過此函數以後,那麼此集合和指定集合將再也不包含相同元素。 若是此集合因調用而更改那麼返回true * 若是此集合不支持removeAll方法,則拋出UnsupportedOperationException * 若是集合中一個或多個元素的類型與指定集合不兼容,則拋出ClassCastException(可選的操做) * 若是該集合包含一個或多個空元素,且指定的集合不支持空元素(optional),或者指定的集合爲空,則拋出NullPointerException異常 */ boolean removeAll(Collection<?> c); /** * 移除此集合中全部符合給定Predicate的元素。在迭代期間或由Predicate引起的錯誤或運行時異常將被轉發給調用方 * 默認實現使用其迭代器遍歷集合的全部元素。每個匹配的元素使用iterator.remove()來移除。 * 若是集合的iterator不支持移除將會拋出UnsupportedOperationException異常 * 指定過濾器爲空,拋出NullPointerException 若是移除操做不支持,拋出UnsupportedOperationException異常 */ 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; } /** * 只保留此集合中包含在指定集合中的元素(可選的操做) 也就是說,移除此集合中不包含在指定集合中的全部元素。 若是此集合改變了返回true * 若是此集合不支持retainAll,則拋出UnsupportedOperationException異常 * 若是集合中一個或多個元素的類型與指定集合不兼容,則拋出ClassCastException(可選的操做) * 若是該集合包含一個或多個空元素,且指定的集合不支持空元素,或者指定的集合爲空,拋出NullPointerException(可選的操做) */ boolean retainAll(Collection<?> c); /** * 移除此集合中的全部元素,此方法調用後,此集合應該爲空 若是此集合clear操做不支持將會拋出UnsupportOperationException異常。 */ void clear();
比較和hash:函數
boolean equals(Object o); int hashCode();
默認方法:ui
/** * 默認方法, 多線程中用的到,暫時不作討論 */ default Spliterator<E> spliterator() { return Spliterators.spliterator(this, 0); } default Stream<E> stream() { return StreamSupport.stream(spliterator(), false); } default Stream<E> parallelStream() { return StreamSupport.stream(spliterator(), true); }