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

首頁 > 編程 > Java > 正文

Java基礎之集合框架

2019-11-06 09:47:18
字體:
來源:轉載
供稿:網友

概述

java集合工具包包含了常用的數據結構:集合、鏈表、隊列、棧、數組、映射等。Java集合工具包位置是java.util.*;其總體框架圖如下所示:

Collections

List

一個有序且有索引的容器,允許重復值的出現。

Set

一個無序的唯一對象的容器,不允許重復值出現。

Map

一個基于鍵值對以及哈希的數據結構,不允許相同的鍵值出現。

對比

重復對象

List 允許,Set 不允許,而Map中鍵對象必須唯一。

排序

List 有序,Set 無序,而Map也沒有規定順序。

某些 Set 實現比如 LinkedHashSet 還是保持了每個元素的插入順序。此外 SortedSet 的實現 TreeSet , SortedMap的實現 TreeMap 也通過 Comparator 或者 Comparable 維護了一個排序順序。

NULL值

List允許多個null值,Set允許一個null值,Map可以有多個null值和最多一個null鍵。

Hashtable 既不允許 null 鍵也不允許 null 值。

流行實現

List

ArrayList:提供了使用索引的隨意訪問LinkedList :的鏈表結構對于經常需要從 List 中添加或刪除元素的場合比較合適Vector :可以理解為同步的ArrayListStack:繼承Vector,實現了一個標準的后進先出的棧。

Set

HashSet 也不能提供任何排序保證,基于 HashMap 實現TreeSet 實現了 SortedSet 接口,根據其 compare() 和 compareTo() 的定義進行排序的有序容器。LinkedHashSet:繼承HashSet, 除了提供 Set 接口的唯一性,還提供了元素的有序性。

Map

HashMap 是 Map 接口的一個非同步的通用實現Hashtable 是 HashMap 的一個提供了同步功能的副本HashMap 和 Hashtable 都不能像 LinkedHashMap 那樣做任何排序保證TreeMap 也是一個有序的數據結構,它按照鍵的值進行升序排列。

Comparable與Comparator

都是Java中用于實現對象的比較、排序的接口。

//Comparablepublic class Student implements Comparable{public int compareTo(Student another) {}}Collections.sort( studentList )//Comparatorpublic class Student{}class StudentComparator implements Comparator { public int compare(Student one, Student another) {}}Collections.sort( studentList , new StudentComparator());

集合腦圖

Collections

腦圖地址: http://www.xmind.net/m/UPWK

參考: Difference between Set, List and Map in Java - Interview question Java集合干貨系列-集合總體大綱


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 怀远县| 临夏县| 保靖县| 曲阜市| 邳州市| 汾西县| 北安市| 依安县| 镇沅| 开化县| 潜江市| 铜鼓县| 全南县| 湖北省| 甘德县| 武乡县| 仙游县| 兴化市| 石棉县| 闵行区| 兴义市| 磐石市| 普宁市| 佛教| 津市市| 延寿县| 咸丰县| 郴州市| 荣昌县| 上虞市| 五华县| 南城县| 高清| 三门峡市| 阳西县| 阳西县| 谢通门县| 吉林省| 奎屯市| 宁城县| 兴城市|