集合框架總結(一)
陣列:查詢快,新增刪除慢 (存放資料時,陣列的長度是不可變的,且其不能存放對映關係的資料)
連結串列:新增刪除快,查詢慢
集合框架的存在可以解決陣列和連結串列容器的缺點。
集合框架與陣列的儲存區別:
陣列:可存基本型別資料來源與物件
集合框架:只能存物件
集合框架體系圖:
Java集合類主要有兩個介面派生而來:Collection、Map 這兩個介面包含了一些子類和實現類
1.set集合:類似罐子,物件存於set集合時,無法記住其次序,所以set集合為無序的
2.List集合:類似陣列,可記住儲存的物件的次序,與陣列不同的是,List的長度可變
3.key--value的鍵值對關係(對映關係)
ArrayList 與 Vector 的區別與聯絡:
聯絡:
1.用法基本相同(add()、clear()等方法);
區別:
1.Vector是執行緒安全的(同步的),ArrayList是執行緒不安全的(非同步的);【類似:StringBuffer執行緒安全,StringBuilder是執行緒不安全的】
注:因為Vector已過時,所以一般用Collections工具類將Arraylist轉換為執行緒安全,如,List list = Collections.synchronizedList(new ArrayList());
Collection為集合介面;Collections為工具類。
ArrayList 與 LinkedList:
聯絡:用法相同
區別:ArrayList底層使用的是陣列;而LinkedList使用的是連結串列。
TreeSet::
1.TreeSet是Sorted介面的實現類,確保元素物件處於排序狀態;
2.TreeSet底層是TreeMap;而TreeMap的底層是紅黑樹 ;
TreeSet和TreeMap:
區別:
1.TreeSet是Set介面的實現類,TreeMap是Map介面的實現類
2.TreeSet值儲存一個物件,且該物件不可重複;TreeMap儲存key-value兩個物件(key有序)
聯絡:
1.TreeSet的底層是通過TreeMap實現;
2.TreeMap底層是紅黑樹演算法;
3.都是有序集合,都是非同步不安全的,可通過synchronidMap()來實現同步;
4.執行速度都比hash集合慢。
HashTable與HashMap:
1.用法一樣;
2.Hashtable為執行緒安全的,HashMap執行緒不安全,可通過Collections工具類轉化為執行緒安全的(與Vector、ArrayList的關係類似);
相關推薦
JAVA集合框架總結(一)
雖然我們會經常使用到集合框架,但個人感覺內容還是有點多,經過各種查閱資料及自己平時的積累, 做了一個個人認為比較全面的總結 首先,盜用一張集合框架圖: 總的說來,Java API中所用的集合類,都是實現了Collection介面,他的一個類繼承結構如下: Collection<
集合框架總結(一)
陣列:查詢快,新增刪除慢 (存放資料時,陣列的長度是不可變的,且其不能存放對映關係的資料) 連結串列:新增刪除快,查詢慢 集合框架的存在可以解決陣列和連結串列容器的缺點。 集合框架與陣列的儲存區別: 陣列:可存基本型別資料來源與物件 集合框架:只能存物件 集合框架體系
Java語言中的集合框架總結
鍵值 gen collect sort jdk1 pri 不能 map 刪除 一、集合框架 集合是ava語言中非常重要的API; 用來存儲多個數據; 實現了不同的數據結構。 三大接口: Collection:所有集合類的根接口;List、set是常用的子
Java源碼解析——集合框架(一)——ArrayList
cloneabl trac RR ... 需要 pub 復雜 每次 靈活 ArrayList源碼分析 ArrayList就是動態數組,是Array的復雜版本,它提供了動態的增加和減少元素、靈活的設置數組的大小。 一、類聲明 public class ArrayLi
Java之集合框架總結詳解
Java 集合框架主要包括兩種型別的容器,一種是集合(Collection),儲存一個元素集合,另一種是圖(Map),儲存鍵/值對對映。Collection 介面又有 3 種子型別,List、Set 和 Queue,再下面是一些抽象類,最後是具體實現類,常用的有 ArrayList、LinkedLi
集合框架總結-序
集合框架初步學習後,打算寫下此係列文章總結 本文只做總的概述,不對某個集合進行詳細解析 詳細解析請移步同系列其他文章 ArrayList部分原始碼解析 HashMap部分原始碼及疑難問題解析 Java Map遍歷方式的選——TreeMap
Java 知識點整理-12.Java集合框架 Map+HashMap+LinkedHashMap+TreeMap+Collections+泛型固定下邊界+集合框架總結
目錄 Map集合概述和特點 HashMap LinkedHashMap TreeMap HashMap Collections類 泛型固定下邊界 集合框架總結 Map集合概述和特點 1、Map介面概述: public interface Map
java.util.Collection包 java集合框架總結
java.util.Collection java.util.Collection(以下簡稱Collection)的子介面有List Set Queue,他們各自都有一個抽象實現類AbstractCollection、AbstractList、Abstrac
Java基礎複習筆記--集合知識總結(一)
一、List介面 1.Collection介面是List和Set介面的父類 2.List 介面儲存一組允許重複,有序(插入順序)的物件,有下標,插入順序作為遍歷的順序 3.Set 介面儲存一組唯一,無序的物件 沒下標 插入的順序跟遍歷的順序是不一
(Java)集合框架(一)Collection介面方法、Iterator迭代器、增強for迴圈
【Collection介面】 import java.util.ArrayList; import java.util.Collection; /* * Collection介面中的方法 是集合中所有實現類必須擁有的方法 * 程式演示,使用Collection
黑馬程式設計師——Java集合框架(一)之迭代器、Collection層次結構等
-----------android培訓、java培訓、java學習型技術部落格、期待與您交流!------------ 集合框架概述 一、什麼是集合框架 1.什麼是集合? 集合是指把具有相同性質的一類東西匯聚成一個整體,簡單說就是指儲存資料的一個容器。集
黑馬程式設計師——集合框架(一) —— Collection
------- <a href="http://www.itheima.com" target="blank">android培訓</a>、<a href="http://www.itheima.com" target="blank">
java集合框架(一)——框架結構及基礎介面
java.util包是一個重要的包,包含許多類和介面,它還包括java的一個功能強大的子系統——集合框架,集合框架是一個複雜接 口和類的層,提供了管理物件組的優化技術。 使用集合框架的目的有幾個,首先
Java集合框架總結—超詳細-適合面試
Set和List介面是Collection介面派生的兩個子介面,Queue是Java提供的佇列實現,類似於List。Map實現類用於儲存具有對映關係的資料(key-value)。 2、Set、List和Map可以看做集合的三大類。 List集合是有序集合,集合中的元素可以重複,訪問集合中的元素可以
4.畢向東_集合框架總結
1.基本概要 集合框架:Map+Collection ---->用集合幹嘛? 面向物件的事物使用物件&&物件儲存使用集合 ---->幾種遍歷的方式: 1.傳統for:可以定義角標,比較完善。 2.高階for:只能獲取元素 不能
集合框架(一)續 向集合中新增一個集合、陣列和List之間的相互轉換、從集合中刪除另一個集合所包含的元素
集合方法集結: import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.LinkedList; import java.util.List
java集合框架總結(三)
一:遍歷集合的兩種方式 1.使用 Iterator 介面遍歷集合元素 terator 介面主要用於遍歷 Collection 集合中的元素
黑馬程式設計師——集合框架(一)
--------------------- <a href="http://edu.csdn.net/heima" target="blank">android培訓</a>、<a href="http://edu.csdn.net/heima"
【夯實基礎】JAVA集合框架總結(list和set的區別等等)
幾個面試常見問題: 1.Q:ArrayList和Vector有什麼區別?HashMap和HashTable有什麼區別? A:Vector和HashTable是執行緒同步的(synchronized)。效能上,ArrayList和HashMap分別比Vector和Hashtable要好。 2.Q:大致講解j
集合框架(一) Collection介面中的List介面
集合框架: java語言的設計者對常用的設計結構和演算法做了一些規範(介面)和實現(具體實現介面的類)。所有抽象出來的資料結構和操作(演算法)統稱為java集合框架(Java Collection Framework)。java程式設計師在具體應用時,不必考慮資料結構和演算