Java集合框架 三

2021-06-20 03:24:28 字數 2055 閱讀 9378

01.集合(map概述)

我感覺就是c#中的字典dictionary。

map集合的基本特點:

該集合儲存鍵值對,是一對一對往裡存,而且要保證鍵的唯一性。

新增:put(key,value)

putall()

刪除:clear();

remove(object obj);按鍵值刪除

判斷:containskey(object obj)

containsvalue(object obj)

isempty()

獲取:get(object obj)

size()

values();返回的是collection

entryset()

keyset()

02.集合(map子類物件特點)

map:

hashtable:底層是hash表資料結構,不可以存入null值和null鍵。該集合是執行緒同步的。jdk1.0.效率低。

hashmap:底層是hash表資料結構,允許使用null鍵和null值,該集合是不同步的。jkd1.2.效率高。

treemap:底層是二叉樹資料結構,執行緒不同步,可以用於給map集合中的鍵進行排序。和set很像,其實set底層就是使用了map集合。

03.集合(map共性方法)

04.集合(map-keyset)

map集合的兩種取出方式:

第一種keyset:將map中所有的鍵存入set集合,因為set具備迭代器,所有可以迭代方式取出所有的鍵,獲取每乙個鍵對應的值。

mapmap=new map();

map.put("02","zhangsan2");

map.put("03","zhangsan3");

map.put("04","zhangsan4");

map.put("05","zhangsan5");

setkeyset=map.keyset();

iteratorit=keyset.iterator();

while(it.hasnext())

map集合的取出原理:將map集合轉成set集合,再通過迭代器取出。

05.集合(map-entryset)

第二種entryset:

set> entryset:將map集合中的對映關係存入到set集合中,而這個關係的資料型別就是:map.entry。

set> entryset=map.entryset();

iterator> it=entryset.iterator();

while(it.hasnext())

map.entry其實entry也是乙個介面,它是map介面中的乙個內部介面。

inte***ce map

}06.集合(map練習)

以後建立類,這個類如果有多個物件且還有可能排序時,一定要實現comparable介面,覆蓋compareto();hashcode();equals();三個方法。

07.集合(treemap練習)

需求:對學生物件的年齡進行排序。

因為資料是以鍵值對形式存在的,所以使用可以排序的map集合,treemap

08.集合(treemap練習--字母出現次數)

通過結果發現,每乙個字母都有對應次數,說明字母和次數之間都有對映關係。

注意了:當發現有對映關係時,就要先想map集合。

思路:1.將字串轉換成字元陣列,因為要對每乙個字母進行操作

2.定義乙個map集合,因為列印結果的字母有序,所以使用treemap集合

3.遍歷字元陣列

將每乙個字母作為鍵去查map集合

如果返回nulll,將該字母和1存到map集合

如果返回不是null,說明該字母在map集合已經存在並有對應次數,那麼就獲取該次數進行自增,然後將該字母和自增後的次數存入到map集合,覆蓋原來鍵所對應的值

4.將map集合的資料變成指定的字串形式返回。

09.集合(map擴充套件)

map集合被使用是因為具備對映關係。

hashmaphm0=new hashmap();

hashmap> hm1=new hashmap>();

Java集合框架 三 之集合輸出

在之前進行集合輸出的時候都利用了tostring 或者利用了list介面中的get 方法。這些都不是集合的標準輸出。如果從標準上來講,集合輸出一共有四種手段 iterator listiterator enumeration foreach,接下來就詳細講述一下這幾種方法 在jdk1.5之前,在co...

java集合框架

集合框架包括集合與對映 collection and map 以及它們的子類 容器類 1 list 元素有先後次序的集合,元素有index位置,元素可以重複,繼承自collection介面,實現類 arraylist,vector,linkedlist 2 set 元素無續,不能重複新增,是數學意義...

java集合框架

框架 為了解決某一特定的問題,預先設計好的一系列具有繼承或實現關係的類的介面。集合裡的三大類 list直接繼承collection 特點 線性,有序 arraylist底層的實現是陣列 使用範圍 當某一陣列在實際應用中大量使用查詢和新增功能的時候用arraylist linkedlist底層的實現是...