JAVA集合框架及其背後的數據結構

一:介紹:
Java 集合框架 Java Collection Framework ,又被稱爲容器 container ,是定義在 java.util 包下的一組接口 interfaces 和其實現類 classes 。
其主要表現爲將多個元素 element 置於一個單元中,用於對這些元素進行快速、便捷的存儲 store 、檢索retrieve 、管理 manipulate ,即平時咱們俗稱的增刪查改 CRUD 。
如:一副撲克牌(一組牌的集合)、一個郵箱(一組郵件的集合)、一個通信錄(一組姓名和電話的映射關係)等等。
二:接口interface
基本關係的說明
JAVA集合框架及其背後的數據結構java

1.Collection :用來存儲管理一組對象 objects ,這些對象通常被成爲元 素 elements算法

1:. Set : 元素不能重複,背後隱含着查找/搜索的語義數組

  1. SortedSet : 一組有序的不能重複的元素
    1. List : 線性結構
    2. Queue : 隊列
    3. Deque : 雙端隊列

2: Map : 鍵值對 Key-Value-Pair ,背後隱含着查找/搜索的語義數據結構

  1. SortedMap : 一組有序的鍵值對

(1)Collection接口說明框架

boolean add(E e)     //將元素 e 放入集合中
void clear()            //刪除集合中的全部元素
boolean isEmpty()     // 判斷集合是否沒有任何元素,俗稱空集合
boolean remove(Object e)        //若是元素 e 出如今集合中,刪除其中一個
int size()      //返回集合中的元素個數
Object[] toArray()         //返回一個裝有全部集合中元素的數組

Collection接口示例ide

import java.util.Collection; 
import java.util.ArrayList;
import java.util.Arrays; 
public class Demo 
{
public static void main(String[] args)
{
Collection<String> list = new ArrayList<>();
System.out.println(list.size());
System.out.println(list.isEmpty());
list.add("我");
list.add("愛");
list.add("Java"); 
System.out.println(list.size()); 
System.out.println(list.isEmpty()); 
Object[] array = list.toArray(); 
System.out.println(Arrays.toString(array));
for (String s : list)
{ 
System.out.println(s); 
}
list.remove("愛"); 
for (String s : list) 
{ 
System.out.println(s); 
}
list.clear();
System.out.println(list.size());
System.out.println(list.isEmpty());
}
}

(2)Map接口的說明:3d

V get(Object k)     //根據指定的 k 查找對應的 v
V getOrDefault(Object k, V defaultValue)      //根據指定的 k 查找對應的 v,沒有找到用默認值代替
V put(K key, V value)          //將指定的 k-v 放入 Map
boolean containsKey(Object key)            // 判斷是否包含 key boolean containsValue(Object value)                    // 判斷是否包含 value
Set<Map.Entry<K, V>> entrySet()            // 將全部鍵值對返回
boolean isEmpty()             //判斷是否爲空
int size()              // 返回鍵值對的數量

Map代碼示例code

import java.util.Map; 
import java.util.HashMap; 
public class Demo
{
public static void main(String[] args) 
{ 
Map<String, String> map = new HashMap<>(); System.out.println(map.size()); 
System.out.println(map.isEmpty());
 System.out.println(map.get("做者")); System.out.println(map.getOrDefault("做者", "佚名")); System.out.println(map.containsKey("做者")); System.out.println(map.containsValue("佚名")); 
 map.put("做者", "魯迅");
 map.put("標題", "狂人日記"); 
 map.put("發表時間", "1918年"); 
 System.out.println(map.size()); 
 System.out.println(map.isEmpty()); 
 System.out.println(map.get("做者")); System.out.println(map.getOrDefault("做者", "佚名")); System.out.println(map.containsKey("做者")); System.out.println(map.containsValue("佚名"));
 for (Map.Entry<String, String> entry : map.entrySet()) //返回全部鍵值對
 { 
 System.out.println(entry.getKey()); 
 System.out.println(entry.getValue()); 
 } 
 } 
 }

三:接口以及對應的實現類對象

JAVA集合框架及其背後的數據結構

四:知識點blog

1. 集合框架的使用

  1. Collection
    1. List
    2. ArrayList
  2. LinkedList
  3. Stack
  4. Queue
  5. PriorityQueue
  6. Deque
  7. Set
  8. HashSet
  9. TreeSet
  10. Map
  11. HashMap
  12. TreeMap
  13. Collections
    2. 數據結構的理論及實現
  14. 順序表
  15. 鏈表
  16. 棧4. 隊列
  17. 二叉樹

  18. 3. 排序算法
  19. 插入排序
  20. 希爾排序
  21. 選擇排序
  22. 堆排序
  23. 冒泡排序
  24. 快速排序
  25. 歸併排序
    4. Java 語法
  26. 泛型 Generic
  27. 自動裝箱 autobox 和自動拆箱 autounbox
  28. Object 的 equals 方法
  29. Comparable 和 Comparator 接口
相關文章
相關標籤/搜索