天天看點

關于eclipse中集合的整理

  Java集合共有四種,并且集合都是接口,其中Collection接口是List和Set接口的父接口,Map接口又稱作映射集合。 ----------  Collection集合的特點:無序,值可重複;

 Collection集合中的常用方法:      (1).size方法:傳回集合中元素個數      (2).add方法:向集合中添加元素      (3).remove方法:從集合中删除指定元素(一次隻能删除一條)      (4).clear方法:清空集合      (5).isEmpty方法:判斷集合是否為空 ---------- List集合的特點:有序,值可重複;

List集合中的常用方法:      (1).add方法:一個參數時,預設在集合最後添加資料,兩個參數時,在集合的指定位置添加資料      (2).remove方法:根據下角标(索引)或者根據元素值,删除集合中指定元素      (3).set方法:List集合獨有的方法,将指定下角标的元素替換      (4).get方法:根據下角标(索引)取到對應位置的元素      (5).size方法:傳回集合元素個數

List集合常用的實作類:      (1).ArrayList      (2).LinkedList      (3).Vector(Java1.0版本出現,特别古老,線程安全,效率低下,工作中不用,底層也是數組結構)

ArrayList和LinkedList的差別:      (1).ArrayList底層是數組結構,LinkedList底層是雙端鍊式結構      (2).ArrayList向集合中間插入或删除資料時速度慢,LinkedList快      (3).在做查詢時ArrayList快,LinkedList慢  ---------- Set集合的特點:無序,值不可重複;

Set集合的常用實作類:      (1).HashSet      (2).TreeSet

Set集合如何判斷添加進來的資料是否重複:      (1).第一步:調用hashCode方法計算所有對象的哈希瑪值,如果相等執行下一步,如果不相等,則認為對象不重複      (2).第二步:調用equals方法,如果結果為true則認為對象重複,不允許添加到set集合中,否則可以正常添加

如何将具有相同成員變量的對象,不能重複添加到set集合中:      重寫hashCode和equals方法      換言之:Set集合中裝對象時,一般情況下必須保證對象所在的類要重寫hashCode和equlas方法

HashSet和TreeSet的差別:

     (1).HashSet:元素存入時無序,取出時無序      (2).TreeSet:元素存入時無序,但TreeSet會将元素按照從小到大的順序排序,最終取出時,元素的順序為從小到大排序(調用compareTo方法進行比較)

重寫compareTo方法的目的:      目的:判斷對象的大小      對象裝到TreeSet集合中時,集合會調用compareTo方法對元素進行排序,是以必須保證裝到TreeSet集合中的對象所在的類要實作Comparable接口并重寫compareTo方法 --------------  Map集合的特點:      存儲在map集合中的資料,以鍵值對的形式存在,一個鍵隻能對應一個值,鍵和值的關系是映射的關系

Map集合中鍵和值的特點:      (1).鍵不允許重複      (2).值允許重複

如果向map集合中添加資料時,添加了重複的鍵,那麼後面的值會将前面的覆寫掉 例如:      map.put("aa", "小明");      map.put("aa", "小剛");      這個時候,小剛會将小明覆寫掉

Map集合中常用的方法:      (1).put方法:向map集合中添加鍵值對      (2).remove方法:根據鍵删除map集合中對應的值      (3).get方法:根據鍵取到對應的值      (4).size方法:傳回map集合鍵值對的個數

 keySet方法和values方法的作用:      keySet方法:傳回map集合中所有的鍵,預設裝到Set集合中      values方法:傳回map集合中所有的值,預設裝到Collection集合中

Map集合常用的實作類:      (1).HashMap:鍵無序      (2).TreeMap:鍵從小到大排序      (3).HashTable

HashMap和HashTable的差別:      (1).HashMap允許null當做鍵或者值,HashTable不允許      (2).HashTable古老,線程安全,效率低下,工作中不用

// 注釋:本文僅為筆記!!!