c++ 将集合set的数据输出到数组中_Java集合类(容器类)简介:(摘抄)
Java集合可用于存儲數量不等的對象,并可以實現常用的數據結構(如棧、隊列等待),還可以用于保存具有映射關系的關聯數組。Java集合就一種容器,可以把多個對象放進容器中,Java集合可以記住容器中的對象的數據類型,從而可以使代碼更加簡潔和健壯。
Java集合大致可以分為Set、List、Queue、Map四種體系。
1.Java集合與數組的區別:
數組的長度是不可變化的,在數組初始化時指定了數組長度,如果需求要動態添加數據,此時數據就無可為力了,而集合可以保存不確定數量的數據,同時也可以保存具有映射關系的數據。 同一個數組的元素即可是基本類型的值,也可以是對象(實際上保存的是對象的引用變量);而集合只能保存同一類型的對象
2.Java集合體系間的繼承關系
Java集合主要有兩個接口派生而出:Collection和Map,這個兩個接口是Java集合框架的根接口。
其中HashSet、TreeSet、ArrayList、LinkedList是經常用到的實現類
Map實現類是用于保存具有映射關系的數據。Map保存的每項數據都是鍵值對(key-value),Map中的key是不可重復的,key用于標識集合里的每項數據。
其中HashMap、TreeMap是經常用到的實現類
下面是一些常用方法的數據操作例子,主要是添加、刪除、清空、是否為空等:
Collection c= new ArrayList();//添加元素c.add("今天");c.add("明天");c.add(Integer.toString(8)); //基本數據類型需要轉成包裝類才能放入集合中System.out.println("c集合中的元素:"+c);//輸出元素個數System.out.println("c集合中的元素個數為:"+c.size());//刪除指定元素c.remove(Integer.toString(8));//再次輸出集合中的元素個數System.out.println("c集合中的元素個數為:"+c.size());//判斷是否包含指定對象System.out.println("c集合中是否包含"今天"字符串:"+c.contains("今天"));System.out.println("c集合中所有的元素:"+c);Collection h= new HashSet();h.add("明天");h.add("明天的天氣會下雨哦!");//判斷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);輸出結果:
c集合中的元素:[今天, 明天, 8] c集合中的元素個數為:3 c集合中的元素個數為:2 c集合中是否包含"今天"字符串:true c集合中所有的元素:[今天, 明天] c集合中是否完全包含h集合?:false c集合中的元素:[今天] c集合中的元素:[]1.2:使用Iterator(迭代器)遍歷集合
Iterator接口是Collection接口的父接口,因此Collection集合可以直接調用其方法。
public interface Collection<e> extends Iterable<e> {……}</e></e>
Iterator接口也是Java集合框架中的一員,與Collection系列和Map系列不同的是:
Collection系列、Map系列集合主要是用于盛裝數據對象的。 Iteration主要是用于遍歷Collection中的元素。
2:Set集合
簡介
可以把多個對象存放入Set集合內,在集合內是無法記住元素的添加順序。Set集合與Collection基本相同,沒有額外提供其他方法,實際上Set就是Collection,只是行為略有不同,Set不允許包含重復元素。
如果視圖在Set集合中添加相同的元素(注意是同一個對象的引用,并非是兩個元素值相同的),add方法會操作失敗,返回false,新元素是無法被加入的。
3:List集合
3.1:簡介
List代表是一個元素有序、可重復的集合,集合中每個元素都有對應的順序索引。List集合允許使用重復的元素,可以通過索引來訪問指定位置的元素。List集合默認按元素的添加順序來設置元素的索引,例如第一次添加的元素索引為0,第二次添加的元素索引為0,依次類推下去。
3.2:接口中定義的方法
List作為Collection的子接口,同樣可以調用Collection的全部方法,List集合具有有序特點,同時List集合還有一些額外的方法:
二、Map集合
1.1:簡介
Map用戶保存具有映射關系的數據,因此Map集合里保存著兩組數,一組值用戶保存Map里的key,另一組值用戶保存Map里的value,key和value都可以是任何引用類型的數據。Map的key不允許重復,即同一個Map對象的任何兩個key通過equals方法比較總是返回false。
如下圖所描述,key和value之間存在單向一對一關系,即通過指定的key,總能找到唯一的、確定的value。從Map中取出數據時,只要給出指定的key,就可以取出對應的value。
1.2:Map集合與Set集合、List集合的關系
與Set集合的關系
如果 把Map里的所有key放在一起看,它們就組成了一個Set集合(所有的key沒有順序,key與key之間不能重復),實際上Map確實包含了一個keySet()方法,用戶返回Map里所有key組成的Set集合。
與List集合的關系
如果把Map里的所有value放在一起來看,它們又非常類似于一個List:元素與元素之間可以重復,每個元素可以根據索引來查找,只是Map中索引不再使用整數值,而是以另外一個對象作為索引。
參考文檔:Java集合類(容器類)、Map集合總結 - JAVA編程語言程序開發技術文章 - 紅黑聯盟
以上整理自互聯網,如有侵權請擠時聯系我刪除,謝謝
總結
以上是生活随笔為你收集整理的c++ 将集合set的数据输出到数组中_Java集合类(容器类)简介:(摘抄)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 种牙时间什么时候最合适
- 下一篇: java 调用本地接口_JAVA通过本地