摘要:迭代器,主要提供迭代器,并行迭代器還有就是定義所有的集合類(lèi)支持方法。集合和的區(qū)別只能返回并且不能強(qiáng)制進(jìn)行轉(zhuǎn)換會(huì)報(bào)錯(cuò)不會(huì)有該問(wèn)題方法結(jié)果取并集接口看一下這個(gè)接口相比較都多了哪些方法排序方法方法方法
集合類(lèi)
目標(biāo):
先看一下在JAVA中都包含了哪些集合類(lèi)?
首先我們看一下 List 相關(guān)的一些類(lèi),并搞清楚他們究竟有哪些實(shí)現(xiàn)類(lèi),并且這些實(shí)現(xiàn)類(lèi)的使用場(chǎng)景都是什么。
這個(gè)是類(lèi)圖,我們看到所有的集合類(lèi)都是實(shí)現(xiàn)了
Iterable
Collection
List
我們先看一下他們都實(shí)現(xiàn)了哪些方法,并探究他們實(shí)現(xiàn)的方式是什么。
Iterable迭代器,主要提供迭代器,并行迭代器(Spliterator) 還有就是定義所有的集合類(lèi)支持 forEach 方法。像forEach 和 并行迭代器 這些都是在jdk8 中新出的東西。以后專(zhuān)門(mén)學(xué)習(xí)一下 jdk8 中的新東西。
Collection 集合 toArray() 和toArray() 只能返回Object[] 并且不能強(qiáng)制進(jìn)行轉(zhuǎn)換 (String[]) strings.toArray(). 會(huì)報(bào)錯(cuò)
toArray(T[] a) 不會(huì)有該問(wèn)題
containsAll 方法@Test public void testContainsAll() { ListretainAll 取并集lists = new ArrayList<>(); lists.add("1"); lists.add("2"); lists.add("3"); System.out.println("============>" + lists.contains("1")); List lists1 = new ArrayList<>(); System.out.println("============>" + lists.containsAll(lists1)); lists1.add("1"); System.out.println("============>" + lists.containsAll(lists1)); lists1.add("4"); System.out.println("============>" + lists.containsAll(lists1)); } =========結(jié)果========= ============>true ============>true ============>true ============>false
@Test public void testRetainAll() { ListList 接口lists = new ArrayList<>(); lists.add("1"); lists.add("2"); lists.add("3"); lists.retainAll(new ArrayList<>()); System.out.println("============>" + lists); lists.add("1"); lists.add("2"); lists.add("3"); List lists1 = new ArrayList<>(); lists1.add("1"); lists1.add("a"); lists.retainAll(lists1); System.out.println("============>" + lists); } ------------------- ============>[] ============>[1]
看一下這個(gè)接口相比較Collection都多了哪些方法?
sort 排序方法default void sort(Comparator super E> c) { Object[] a = this.toArray(); Arrays.sort(a, (Comparator) c); ListIteratoradd get set 方法 subList 方法i = this.listIterator(); for (Object e : a) { i.next(); i.set((E) e); } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/73611.html
摘要:集合框架重點(diǎn)理解用于存儲(chǔ)數(shù)據(jù)的容器。集合容器在不斷向上抽取過(guò)程中。出現(xiàn)了集合體系。,刪除將集合中的元素全刪除,清空集合。刪除集合中指定的對(duì)象。注意刪除成功,集合的長(zhǎng)度會(huì)改變。作用用于取集合中的元素。是集合特有的迭代器。是單列集合是雙列集合 集合框架(重點(diǎn)理解):用于存儲(chǔ)數(shù)據(jù)的容器。特點(diǎn):1:對(duì)象封裝數(shù)據(jù),對(duì)象多了也需要存儲(chǔ)。集合用于存儲(chǔ)對(duì)象。2:對(duì)象的個(gè)數(shù)確定可以使用數(shù)組,但是不確定怎...
摘要:中的集合稱(chēng)為單列集合,中的集合稱(chēng)為雙列集合。洗牌通過(guò)數(shù)字完成洗牌發(fā)牌發(fā)牌將每個(gè)人以及底牌設(shè)計(jì)為將最后張牌直接存放于底牌,剩余牌通過(guò)對(duì)取模依次發(fā)牌。存放的過(guò)程中要求數(shù)字大小與斗地主規(guī)則的大小對(duì)應(yīng)。 01Map集合概述 A:Map集合概述: 我們通過(guò)查看Map接口描述,發(fā)現(xiàn)Map接口下的集合與Collection接口下的集合,它們存儲(chǔ)數(shù)據(jù)的形式不同 ? a:Collection中的集...
摘要:當(dāng)使用迭代器訪(fǎng)問(wèn)集合元素時(shí),中的元素不能被改變,只能通過(guò)的方法刪除上一次方法返回的集合元素才可以否則將會(huì)引發(fā)異常。可以確保集合元素處于有序狀態(tài)。返回中所有鍵值對(duì)組成的視圖,每個(gè)集合元素都是是的內(nèi)部類(lèi)對(duì)象。這種集合稱(chēng)為視圖。 1.集合概覽 集合包括兩大接口:Collection 和 Map。 Map TreeMap HashMap LinkedHashMap Collecti...
集合的作用:1,在類(lèi)的內(nèi)部,對(duì)數(shù)據(jù)進(jìn)行組織2,簡(jiǎn)單而快速的搜索大數(shù)量的條目3,有的集合接口,提供了一系列排列有序的元素,并且可以在序列中間快速的插入或者刪除有關(guān)元素4,有的集合接口提供了映射的關(guān)系,可以通過(guò)關(guān)鍵字(key)去快速查找到對(duì)應(yīng)的唯一對(duì)象,而這個(gè)關(guān)鍵字可以是任意的類(lèi)型 為何選擇集合而不是數(shù)組數(shù)組長(zhǎng)度固定,集合長(zhǎng)度可變數(shù)組只能通過(guò)下標(biāo)訪(fǎng)問(wèn),類(lèi)型固定,而集合可以通過(guò)任意類(lèi)型查找所映射的具體對(duì)...
閱讀 2416·2021-11-25 09:43
閱讀 1195·2021-09-07 10:16
閱讀 2603·2021-08-20 09:38
閱讀 2937·2019-08-30 15:55
閱讀 1449·2019-08-30 13:21
閱讀 884·2019-08-29 15:37
閱讀 1435·2019-08-27 10:56
閱讀 2093·2019-08-26 13:45