java集合概述

為了讓大家對集合有個基本的框架感,所以先上一張集合的思維導圖:


D~2ZZB1KQONWKAN@~WRK{6J.png

java里集合有兩個,一個是Collection接口,另一個是Map接口。既然是接口那么就有實現接口的類,Map接口的實現類有TreeMap和HashMap,其中TreeMap里面的元素是有序存儲的。HashMap里面的元素是按哈希碰撞算法產生的鍵值對存儲的,類比于倉庫存儲來說,有相同的哈希值的元素如同有相同的房間號的貨物會放在同一個房間,然后同一個房間的物品會有不同的唯一的序列號(即物品的房間號可能相同,但是物品序列號卻不可以相同,是唯一的)。然后搜索的時候會先檢查房間號再匹配物品序列號。
Collection接口有兩個派生接口:Set接口和List接口,Set接口里面的元素是無序且不可重復的,Lis接口里面的元素是有序且可以重復的。實現List接口的實現類有ArrayList和LinkedList。Set接口的實現類為TreeSet和HashSet,其中TreeSet里面的元素是有序存儲的。
下面給出Set的一個代碼示例:

 import java.util.*;
 public class SetExample {
 public static void main(String args[]) {
    Set set = new HashSet();
    set.add("BAAAAA");
    set.add("EAAAAA");
    set.add("FAAA");
    set.add("EAAAAA");
    set.add("CAAAA");
    System.out.println(set);
    Set sortedSet = new TreeSet(set);
   System.out.println(sortedSet);
 }
}

輸出結果1:[FAAA,CAAAA,BAAAAA,EAAAAA],解釋:這里默認優先輸出長度短的,再考慮優先輸出首字母小的,重復的只輸出一次。
輸出結果2:[BAAAAA,CAAAA,EAAAAA,FAAA],解釋:這里優先輸出首字母小的,重復的只輸出一次。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一、集合概述 Java是一種面向對象語言,如果我們要針對多個對象進行操作,就必須對多個對象進行存儲。而數組長度固定...
    賭書只道是尋常閱讀 439評論 0 0
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,765評論 18 399
  • Collection ├List │├LinkedList │├ArrayList │└Vector │└Stac...
    AndyZX閱讀 893評論 0 1
  • 從三月份找實習到現在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發崗...
    時芥藍閱讀 42,366評論 11 349
  • 畢業后,還是要從這里經過。那改了校門的城墻,那重新燈飾的校樓,那天明刺耳的軍哨聲, 那白鴿,那依舊熱烈開放的刺桐…...
    love漢娜閱讀 476評論 0 0