這篇文章將為大家詳細講解有關Set的基本介紹是什么,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
創(chuàng)新互聯(lián)公司是一家以網(wǎng)站建設公司、網(wǎng)頁設計、品牌設計、軟件運維、成都網(wǎng)站營銷、小程序App開發(fā)等移動開發(fā)為一體互聯(lián)網(wǎng)公司。已累計為成都資質(zhì)代辦等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務。

Set是一個繼承于Collection的接口,它是一個不允許重復元素的集合。
AbstractSet是一個抽象類,繼承了AbstractCollection,AbstractCollection實現(xiàn)了Set中的絕大部分函數(shù),為Set的實現(xiàn)類提供了便利。
Set的實現(xiàn)類主要是HashSet、LinkedHashSet、TreeSet。
底層通過HashMap實現(xiàn)
不保證元素的任何順序
非線程安全,元素可為null
底層通過LinkedHashMap實現(xiàn)
保證元素的插入順序
非線程安全,元素不可為null
底層通過TreeMap實現(xiàn)
使用元素的自然順序對元素進行排序
非線程安全,元素不可為null
public interface Set<E> extends Collection<E> {
/** 返回集合中元素的數(shù)量 **/
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 o);
/** 從當前集合中移除指定集合c中包含的所有元素 **/
boolean removeAll(Collection<?> c);
/** 只保留當前集合與指定集合c中都存在的元素 **/
boolean retainAll(Collection<?> c);
/** 移除當前集合中所有的元素 **/
void clear();
/** 返回當前集合的迭代器 **/
Iterator<E> iterator();
/** 返回一個可分割迭代器,增加并行處理能力;繼承自Iterable接口;JDK1.8新增的方法 **/
default Spliterator<E> spliterator() {
return Spliterators.spliterator(this, Spliterator.DISTINCT);
}
}關于Set的基本介紹是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
分享標題:Set的基本介紹是什么
網(wǎng)頁網(wǎng)址:http://www.chinadenli.net/article22/geeejc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司、、做網(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)