深入淺出Collection Framework

2021-07-24 00:02:36 字數 2079 閱讀 3612

先來解決

-集合:顧名思義就是集中在一起合二為一,那麼書中其概念為可確定的一定範圍內的可以區別開其他事物,從而自成乙個整體。我們稱為容器

- 集合框架:我們從框架圖不難得出這樣的結論,集合框架則是我們所抽象出來的資料結構和演算法(函式)在這個框架中有介面,abstract類,實現類,而且也有工具類。

我們常用的如下圖,當然還包括map介面及實現類

所以從此圖我們能很清晰的,在一定程度上了解和理解介面進而框架,以後得學習中不難看出很多時候其實是方法重寫

首先是幾個介面:

1、****collection根介面:就是表示一組物件,物件也是其的元素,可以允許有重複的元素,也可無重複,有與無序。此介面又提供具體的子介面(list和set)

2、****map介面:是一組成對的鍵值物件

iteratorpoker = poker.iterator();

while(poker.hasnext())

a、使用iterator()方法要求其返回乙個iterator。在準備返回序列中元素。

b、使用next()獲取下個元素,用hasnext()判斷序列中是否還有元素,用remove()將返回的元素刪除

**4、**list介面:有序序列,可以進行在元素位置進行精確控制,可以根據index即索引來訪問元素。list 介面繼承 collection,允許重複,不會重新排列。

有兩種型別的list:

arraylist,隨機訪問元素的時間快,但是插入和移除元素時較慢。採用的是陣列的結構

linkedlist:採用鍊錶結構來儲存物件,其優點就是插入和移除物件更方便快捷,,但是其訪問元素的速度較arraylist慢。效能導致我們在選擇訪問和插入移除之間選擇,linkedlist還有更多的一些操作。

5、set介面:同樣繼承collection,不能包含重複的元素,兩個一樣的元素不能同時存在於此,set常用的實現類:hashsettreeset

a、hashset:使用的頻度較多,它的功能非常強大,專門對快速查詢進行了優化,我們預設用這個實現類。

b、treeset:樹結構,可以使序列有序輸出,同時必須要實現comparable介面和comparato方法

public

class

listdemo

private

static

void

retainall()

private

static

void

removeelement(listlist1)

private

static

void

accesselement(listlist1)

private

static listaddelement()

}

知識點、重點1、collection根介面和子介面和實現類的關係一定要理清晰

2、list介面的概念以及常用的兩個實現類的用法和區別,可以有重複的元素出現,arraylist訪問速度快,但是插入和移除較慢。linkedlist訪問速度慢,但是插入和移除快。

3、set介面中常用的兩個實現類的概念和區別,而且它是不允許有重複的元素出現

4、map介面及實現類通過鍵值對儲存資料,並且同乙個鍵名只能出現一次。

5、treemap,和treeset中不能存在null值和鍵,但arraylist.linkedlist.hashmap可以

5、結合之前學習的泛型使用更加靈活,並且更具有結構性,同時減少**,達到物件導向的作用。

深入淺出sizeof

int佔 位元組,short佔 位元組 1.0 回答下列問題 答案在文章末尾 1.sizeof char 2.sizeof a 3.sizeof a 4.strlen a 如果你答對了全部四道題,那麼你可以不用細看下面關於sizeof的論述。如果你答錯了部分題目,那麼就跟著我來一起 關於sizeof...

深入淺出ShellExecute

ipconfig c log.txt應如何處理?二樓的朋友,開啟拔號網路這樣 shellexecute null,open c windows rundll32.exe shell32.dll,control rundll c windows system telephon.cpl null,sw ...

深入淺出ShellExecute

深入淺出shellexecute譯者 徐景周 原作 nishant s q 如何開啟乙個應用程式?shellexecute this m hwnd,open calc.exe sw show 或shellexecute this m hwnd,open notepad.exe c mylog.log...