日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

c++ 将集合set的数据输出到数组中_Java集合类(容器类)简介:(摘抄)

發(fā)布時(shí)間:2024/9/18 c/c++ 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++ 将集合set的数据输出到数组中_Java集合类(容器类)简介:(摘抄) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Java集合可用于存儲(chǔ)數(shù)量不等的對(duì)象,并可以實(shí)現(xiàn)常用的數(shù)據(jù)結(jié)構(gòu)(如棧、隊(duì)列等待),還可以用于保存具有映射關(guān)系的關(guān)聯(lián)數(shù)組。Java集合就一種容器,可以把多個(gè)對(duì)象放進(jìn)容器中,Java集合可以記住容器中的對(duì)象的數(shù)據(jù)類(lèi)型,從而可以使代碼更加簡(jiǎn)潔和健壯。

Java集合大致可以分為Set、List、Queue、Map四種體系。

  • Set:代表無(wú)序、不可重復(fù)
  • List:代表有序、重復(fù)的集合
  • Queue:代表一種隊(duì)列集合實(shí)現(xiàn)
  • Map:代表具有映射關(guān)系的集合
  • 1.Java集合與數(shù)組的區(qū)別:

    數(shù)組的長(zhǎng)度是不可變化的,在數(shù)組初始化時(shí)指定了數(shù)組長(zhǎng)度,如果需求要?jiǎng)討B(tài)添加數(shù)據(jù),此時(shí)數(shù)據(jù)就無(wú)可為力了,而集合可以保存不確定數(shù)量的數(shù)據(jù),同時(shí)也可以保存具有映射關(guān)系的數(shù)據(jù)。 同一個(gè)數(shù)組的元素即可是基本類(lèi)型的值,也可以是對(duì)象(實(shí)際上保存的是對(duì)象的引用變量);而集合只能保存同一類(lèi)型的對(duì)象

    2.Java集合體系間的繼承關(guān)系

    Java集合主要有兩個(gè)接口派生而出:Collection和Map,這個(gè)兩個(gè)接口是Java集合框架的根接口。

    其中HashSet、TreeSet、ArrayList、LinkedList是經(jīng)常用到的實(shí)現(xiàn)類(lèi)

    Map實(shí)現(xiàn)類(lèi)是用于保存具有映射關(guān)系的數(shù)據(jù)。Map保存的每項(xiàng)數(shù)據(jù)都是鍵值對(duì)(key-value),Map中的key是不可重復(fù)的,key用于標(biāo)識(shí)集合里的每項(xiàng)數(shù)據(jù)。

    其中HashMap、TreeMap是經(jīng)常用到的實(shí)現(xiàn)類(lèi)

    下面是一些常用方法的數(shù)據(jù)操作例子,主要是添加、刪除、清空、是否為空等:

    Collection c= new ArrayList();//添加元素c.add("今天");c.add("明天");c.add(Integer.toString(8)); //基本數(shù)據(jù)類(lèi)型需要轉(zhuǎn)成包裝類(lèi)才能放入集合中System.out.println("c集合中的元素:"+c);//輸出元素個(gè)數(shù)System.out.println("c集合中的元素個(gè)數(shù)為:"+c.size());//刪除指定元素c.remove(Integer.toString(8));//再次輸出集合中的元素個(gè)數(shù)System.out.println("c集合中的元素個(gè)數(shù)為:"+c.size());//判斷是否包含指定對(duì)象System.out.println("c集合中是否包含"今天"字符串:"+c.contains("今天"));System.out.println("c集合中所有的元素:"+c);Collection h= new HashSet();h.add("明天");h.add("明天的天氣會(huì)下雨哦!");//判斷c集合中是否完全包含h集合System.out.println("c集合中是否完全包含h集合?:"+c.containsAll(h));//用c集合減去h集合中的元素c.removeAll(h);System.out.println("c集合中的元素:"+c);//刪除c中所有的元素c.clear();System.out.println("c集合中的元素:"+c);

    輸出結(jié)果:

    c集合中的元素:[今天, 明天, 8] c集合中的元素個(gè)數(shù)為:3 c集合中的元素個(gè)數(shù)為:2 c集合中是否包含"今天"字符串:true c集合中所有的元素:[今天, 明天] c集合中是否完全包含h集合?:false c集合中的元素:[今天] c集合中的元素:[]

    1.2:使用Iterator(迭代器)遍歷集合

    Iterator接口是Collection接口的父接口,因此Collection集合可以直接調(diào)用其方法。

    public interface Collection<e> extends Iterable<e> {……}</e></e>

    Iterator接口也是Java集合框架中的一員,與Collection系列和Map系列不同的是:

    Collection系列、Map系列集合主要是用于盛裝數(shù)據(jù)對(duì)象的。 Iteration主要是用于遍歷Collection中的元素。

    2:Set集合

    簡(jiǎn)介

    可以把多個(gè)對(duì)象存放入Set集合內(nèi),在集合內(nèi)是無(wú)法記住元素的添加順序。Set集合與Collection基本相同,沒(méi)有額外提供其他方法,實(shí)際上Set就是Collection,只是行為略有不同,Set不允許包含重復(fù)元素。

    如果視圖在Set集合中添加相同的元素(注意是同一個(gè)對(duì)象的引用,并非是兩個(gè)元素值相同的),add方法會(huì)操作失敗,返回false,新元素是無(wú)法被加入的。

    3:List集合

    3.1:簡(jiǎn)介

    List代表是一個(gè)元素有序、可重復(fù)的集合,集合中每個(gè)元素都有對(duì)應(yīng)的順序索引。List集合允許使用重復(fù)的元素,可以通過(guò)索引來(lái)訪(fǎng)問(wèn)指定位置的元素。List集合默認(rèn)按元素的添加順序來(lái)設(shè)置元素的索引,例如第一次添加的元素索引為0,第二次添加的元素索引為0,依次類(lèi)推下去。

    3.2:接口中定義的方法

    List作為Collection的子接口,同樣可以調(diào)用Collection的全部方法,List集合具有有序特點(diǎn),同時(shí)List集合還有一些額外的方法:

    二、Map集合

    1.1:簡(jiǎn)介

    Map用戶(hù)保存具有映射關(guān)系的數(shù)據(jù),因此Map集合里保存著兩組數(shù),一組值用戶(hù)保存Map里的key,另一組值用戶(hù)保存Map里的value,key和value都可以是任何引用類(lèi)型的數(shù)據(jù)。Map的key不允許重復(fù),即同一個(gè)Map對(duì)象的任何兩個(gè)key通過(guò)equals方法比較總是返回false。

    如下圖所描述,key和value之間存在單向一對(duì)一關(guān)系,即通過(guò)指定的key,總能找到唯一的、確定的value。從Map中取出數(shù)據(jù)時(shí),只要給出指定的key,就可以取出對(duì)應(yīng)的value。

    1.2:Map集合與Set集合、List集合的關(guān)系

    與Set集合的關(guān)系

    如果 把Map里的所有key放在一起看,它們就組成了一個(gè)Set集合(所有的key沒(méi)有順序,key與key之間不能重復(fù)),實(shí)際上Map確實(shí)包含了一個(gè)keySet()方法,用戶(hù)返回Map里所有key組成的Set集合。

    與List集合的關(guān)系

    如果把Map里的所有value放在一起來(lái)看,它們又非常類(lèi)似于一個(gè)List:元素與元素之間可以重復(fù),每個(gè)元素可以根據(jù)索引來(lái)查找,只是Map中索引不再使用整數(shù)值,而是以另外一個(gè)對(duì)象作為索引。

    參考文檔:Java集合類(lèi)(容器類(lèi))、Map集合總結(jié) - JAVA編程語(yǔ)言程序開(kāi)發(fā)技術(shù)文章 - 紅黑聯(lián)盟

    以上整理自互聯(lián)網(wǎng),如有侵權(quán)請(qǐng)擠時(shí)聯(lián)系我刪除,謝謝

    總結(jié)

    以上是生活随笔為你收集整理的c++ 将集合set的数据输出到数组中_Java集合类(容器类)简介:(摘抄)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。