摘要:接口接口接口的特點(diǎn)不允許存儲(chǔ)重復(fù)的元素沒(méi)有索引沒(méi)有帶索引的方法也不能使用普通的循環(huán)遍歷集合接口特點(diǎn)不允許存儲(chǔ)重復(fù)的元素沒(méi)有索引沒(méi)有帶索引的方法也不能使用普通的循環(huán)遍歷是一個(gè)無(wú)序的集合存儲(chǔ)元素和取出元素的順序有可能不一致底層是一個(gè)哈希表結(jié)構(gòu)查
package com.itheima.demo02.Set;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
/*
java.util.Set接口 extends Collection接口 Set接口的特點(diǎn): 1.不允許存儲(chǔ)重復(fù)的元素 2.沒(méi)有索引,沒(méi)有帶索引的方法,也不能使用普通的for循環(huán)遍歷 java.util.HashSet集合 implements Set接口 HashSet特點(diǎn): 1.不允許存儲(chǔ)重復(fù)的元素 2.沒(méi)有索引,沒(méi)有帶索引的方法,也不能使用普通的for循環(huán)遍歷 3.是一個(gè)無(wú)序的集合,存儲(chǔ)元素和取出元素的順序有可能不一致 4.底層是一個(gè)哈希表結(jié)構(gòu)(查詢的速度非常的快)
*/
public class Demo01Set {
public static void main(String[] args) { Setset = new HashSet<>(); //使用add方法往集合中添加元素 set.add(1); set.add(3); set.add(2); set.add(1); //使用迭代器遍歷set集合 Iterator it = set.iterator(); while (it.hasNext()){ Integer n = it.next(); System.out.println(n);//1,2,3 } //使用增強(qiáng)for遍歷set集合 System.out.println("-----------------"); for (Integer i : set) { System.out.println(i); } }
}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/75093.html
摘要:下面總結(jié)一下集合常用的三個(gè)子類(lèi)吧無(wú)序,允許為,底層是散列表紅黑樹(shù),非線程同步有序,不允許為,底層是紅黑樹(shù)非線程同步迭代有序,允許為,底層是雙向鏈表,非線程同步從結(jié)論而言我們就可以根據(jù)自己的實(shí)際情況來(lái)使用了。 前言 聲明,本文用的是jdk1.8 前面章節(jié)回顧: Collection總覽 List集合就這么簡(jiǎn)單【源碼剖析】 Map集合、散列表、紅黑樹(shù)介紹 HashMap就是這么簡(jiǎn)單【源碼...
摘要:簡(jiǎn)介繼續(xù)分析源碼,上一篇文章把的分析完畢。本文開(kāi)始分析簡(jiǎn)單的介紹一下。存儲(chǔ)的元素是無(wú)序的并且允許使用空的元素。 1.簡(jiǎn)介 繼續(xù)分析源碼,上一篇文章把HashMap的分析完畢。本文開(kāi)始分析HashSet簡(jiǎn)單的介紹一下。 HashSet是一個(gè)無(wú)重復(fù)元素集合,內(nèi)部使用HashMap實(shí)現(xiàn),所以HashMap的特征耶繼承了下來(lái)。存儲(chǔ)的元素是無(wú)序的并且HashSet允許使用空的元素。 HashSe...
Set接口 Set是一個(gè)不能包含重復(fù)元素的Collection,它模擬了數(shù)學(xué)集抽象,Set接口僅包含從Collection繼承的方法,并添加禁止重復(fù)元素的限制,Set還為equals和hashCode操作的行為添加了一個(gè)更強(qiáng)的契約,允許Set實(shí)例有意義地進(jìn)行比較,即使它們的實(shí)現(xiàn)類(lèi)型不同,如果兩個(gè)Set實(shí)例包含相同的元素,則它們是相等的。 Java平臺(tái)包含三個(gè)通用的Set實(shí)現(xiàn):HashSet、Tre...
摘要:和的區(qū)別是非線程安全的,效率高是基于線程安全的,效率低底層基于鏈表實(shí)現(xiàn),鏈表內(nèi)存是散亂的,每一個(gè)元素存儲(chǔ)本身內(nèi)存地址的同時(shí)還存儲(chǔ)下一個(gè)元素的地址。基本上都是以為基礎(chǔ)。 什么是集合 Java是一門(mén)面向?qū)ο蟮恼Z(yǔ)言. 為了方便操作多個(gè)對(duì)象,那么我們就得把這多個(gè)對(duì)象存儲(chǔ)起來(lái) 想要存儲(chǔ)多個(gè)對(duì)象(變量),我們就需要一個(gè)容器 集合就是一個(gè)放數(shù)據(jù)的容器(集合類(lèi)存放的都是對(duì)象的引用,而非對(duì)象本身) ...
摘要:的操作和遍歷的三大集合即。的實(shí)現(xiàn)類(lèi)原理比較簡(jiǎn)單,比較復(fù)雜,而其實(shí)是基于的一種實(shí)現(xiàn)。 List&Map&Set的操作和遍歷 Java的三大集合即:Set、List、Map。 Set:代表無(wú)序、不可重復(fù)的集合,常用的有HashSet(哈希表實(shí)現(xiàn))、TreeSet(紅黑樹(shù)實(shí)現(xiàn)); List:代表有序、可以重復(fù)的集合,比較常用的有ArrayList(數(shù)組實(shí)現(xiàn))、LinkedList(鏈表實(shí)現(xiàn)...
閱讀 1865·2023-04-26 01:58
閱讀 1991·2019-08-30 11:26
閱讀 2735·2019-08-29 12:51
閱讀 3501·2019-08-29 11:11
閱讀 1190·2019-08-26 11:54
閱讀 2104·2019-08-26 11:48
閱讀 3486·2019-08-26 10:23
閱讀 2391·2019-08-23 18:30