国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Java集合框架

2019-11-15 00:23:28
字體:
供稿:網(wǎng)友
java集合框架

1. Java集合類概述

A.集合的由來

a. 處理多個相同數(shù)據(jù)我們采用數(shù)組,但數(shù)組空間固定不能動態(tài)增長,插入或刪除元素比較麻煩。我們使用集合來解決這個問題

b. 集合特點:元素類型可以不同、集合長度可變、空間不固定

c. Java中對一些數(shù)據(jù)結(jié)構(gòu)和算法進(jìn)行了封裝即集合。集合也是一種對象,用于存儲、檢索、和傳輸對象

d. JCF(Java Collections Framework)集合框架。它提供了用于管理集合的接口和類

B.Java集合框架中的三個核心接口:Set、List、Map2.Collection接口和Iterator接口

A. 集合(Collection)接口位于Set接口和List接口的最頂層,是Set接口和List接口的父接口。定義了Collection對象共有的一些基本方法,這些方法分為基本操作、批量操作和數(shù)組操作

B. Iterator接口是一種用于遍歷集合的接口。所謂遍歷,是指從集合中取出每一個元素的過程

3. List接口:一列數(shù)據(jù),數(shù)據(jù)內(nèi)容可以重復(fù),以元素安插的次序來放置元素,不會重新排列

A. List接口的實現(xiàn)類具有共同的方法:

add() :向集合中添加元素(增)

remove() :將元素從集合中移除(刪)

get() : 從集合中獲取元素(查)

set():修改集合中的元素(改)

size() :查看集合長度

B.List接口實現(xiàn)類的選擇

a. ArrayList:使用最廣泛,集合元素增加或刪除操作不頻繁時使用。最適合查詢

b. LinkedList:當(dāng)需要在集合的中間位置,頻繁增加或刪除元素時使用

c. Vector:與ArrayList類似,但Vector是線程安全的,所以性能要低于ArrayList

4. 泛型:由于集合中保存的元素都是Object類型,當(dāng)一個元素從集合中取出來后都是Object類型的對象,所以我們必須對其進(jìn)行強制類型轉(zhuǎn)換。為了解決這種麻煩,JDK1.5中提供了一種新的處理方式泛型。

如:List<String> list = new ArrayList<String>();

5. for each循環(huán)

在JDK1.5中增加了一種新型的循環(huán),稱之為for each循環(huán),該循環(huán)大大簡化了對于集合的遍歷操作

如:for(String a : list){

System.out.PRintln(a);

}

6. Set接口:一列數(shù)據(jù),數(shù)據(jù)內(nèi)容不能重復(fù),使用自己內(nèi)部的一個排列機制放置元素

A. Set接口的實現(xiàn)類具有共同的方法:

add() :向集合中添加元素(增)

remove(Object o) :將元素從集合中移除(刪)

size():查看集合長度

B.Set接口實現(xiàn)類的選擇

a. HashSet:速度快,不排序

b. TreeSet:速度慢,排序

7. Map接口:一列數(shù)據(jù)對,使用自己內(nèi)部的一個排列機制放置元素

A. Map接口不是Collection接口的繼承。Map接口用于維護(hù)鍵/值對(key/value pairs)。每個條目包括單獨的兩部分 :

key

Value

B. 在Map中不允許出現(xiàn)重復(fù)的鍵.

C.key 和 value 可以是任何類的實例D.Map接口實現(xiàn)類的共同方法

put():將鍵值對存入集合

get():根據(jù)鍵取出元素的值

keySet():將Map中的所有鍵取出形成一個Set

values():將Map中的所有值取出形成一Collection

remove():根據(jù)鍵移除值

E.Map接口實現(xiàn)類的選擇

a. HashMap:速度快,不排序

b. TreeMap:速度慢,排序

8.工具類Collections和Arrays

A. Java集合框架中提供了一個操作Set、List和Map等集合的工具類Collections,該工具類中提供了大量方法,用于對集合元素進(jìn)行排序、查詢、修改等操作

B. Java集合框架同時也提供了Arrays類用于操作數(shù)組。Arrays類包含用來操作數(shù)組(比如排序和搜索)的各種方法

9. 古老的集合類與接口

A. Vector、Hashtable、Stack、Properties類以及遍歷器Enumeration接口

B. Vector(向量)與ArrayList的用法幾乎完全相同,二者之間的最大區(qū)別在于Vector類是線程安全的,而ArrayList不是

C. Hashtable與HashMap的用法也幾乎相同,二者的關(guān)系完全類似于Vector與ArrayList的關(guān)系。Hashtable是線程安全的,而HashMap不是。 此外,Hashtable不允許key和value為null,而HashMap是允許的

D. Properties到現(xiàn)在還被頻繁使用的一個類。該類用于處理屬性文件。所謂屬性文件就是將Map形式的鍵/值對數(shù)據(jù)存在一個擴展名為“.properties”的文本文件中,常用作軟件的配置文件


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 博湖县| 远安县| 应用必备| 大渡口区| 常山县| 云南省| 肃宁县| 隆回县| 铜川市| 肃南| 迁安市| 绥中县| 沙河市| 台中县| 神木县| 新民市| 江华| 乌什县| 五莲县| 常州市| 乌拉特中旗| 天津市| 秦安县| 上林县| 扎赉特旗| 宁河县| 鹰潭市| 册亨县| 高碑店市| 灵武市| 于田县| 虹口区| 太保市| 吉木萨尔县| 神农架林区| 临夏市| 宁南县| 济阳县| 赤水市| 东源县| 海城市|