《Java程序設計》第八週學習總結

20175334 《Java程序設計》第八週學習總結

教材學習內容總結

第十五章html

  • 泛型
    • 泛型類聲明
      • class 名稱<泛型列表>
    • 使用泛型類聲明對象
      • 和普通類相比,泛型類聲明和建立對象時,類名後多了一對<>,並且必需要用具體的類型替換<>中的泛型
      • 泛型主要目的是能夠創建具備類型安全的數據結構
  • 鏈表
    • LinkedList<E>泛型類
      • 必需要指定E的具體類型,而後用add(E obj)方法向鏈表依次增長結點
    • 經常使用方法
      • public boolean add<E element>,向鏈表的指定位置添加一個新的結點,該結點中的數據是參數element指定的數據
      • public void add(int index, E element),向鏈表的指定位置添加一個新的結點,該結點中的數據是參數element指定的數據
      • public void clear(),刪除鏈表的全部結點,使當前鏈表成爲空鏈表
      • public E remove(int index),刪除指定位置上的結點
      • public boolean remove(E element),刪除首次出現含有數據element的結點
      • public E get(int index),獲得鏈表中指定位置處結點中的數據
      • public int indexOf(E element),返回含有數據element的結點在鏈表中首次出現的位置,若是鏈表中無此結點則返回-1
      • public int lastIndexOf(E element),返回含有數據element的結點在鏈表中最後出現的位置,若是鏈表中無此結點則返回-1
      • public E set(int index,E element),將當前鏈表index位置結點中的數據替換爲參數element指定的數據,並返回被替換的數據
      • public int size(),返回鏈表的長度,即結點的個數
      • public boolean contains(Object element)
      • public void addFirst(E element),向鏈表的頭添加新結點,該結點中的數據是參數element指定的數據
      • public void addLast(E element),向鏈表的末尾添加新結點,該結點中的數據是參數element指定的數據
      • public E getFirst(),獲得鏈表中第一個結點中的數據
      • public E getLast(),獲得鏈表中最後一個結點中的數據
      • public E removeFirst(),刪除第一個結點,並返回這個結點中的數據
      • public E removeLast(),刪除最後一個結點,並返回這個結點中的數據
      • public Object clone(),獲得當前鏈表的一個克隆鏈表,該克隆鏈表中結點數據的改變不會影響到當前鏈表中結點的數據,反之亦然
    • 遍歷鏈表
      • 鏈表對象可使用iterator()方法獲取一個Iterator對象,該對象是針對當前鏈表的迭代器
    • 排序與查找
      • public static sort(List<E>list),將list中的元素按順序排序
      • int binarySearch(List<T>list,T key,CompareTo<T>c),使用析半法查找list是否含有和參數key相等的元素
    • 洗牌與旋轉
      • public static void shuffle(List<E>list),將list中的元素按洗牌算法從新隨機排序
      • static void rotate(List<E>list,int distance),旋轉鏈表中的數據
      • public static void reverse(List<E>list),翻轉list中的數據
  • 堆棧
    • 一種只能在一端進行輸入或輸出數據的操做
    • public E push(E item),實現壓棧操做(向堆棧中輸入數據)
    • public E pop(),實現彈棧操做(從堆棧中輸出數據)
    • public boolean empty(),判斷堆棧是否還有數據
    • public E peek(),獲取堆棧頂端的數據,但不能刪除該數據
    • public int search(Object data),獲取數據在堆棧中的位置
  • 散列映射
    • HashMap<K,V>泛型類
    • 經常使用方法
    • 遍歷散列映射
      • public Collection values()方法返回一個實現Collection接口類建立的對象,可使用接口回調技術,即將該對象的引用賦給Collection接口變量,該接口變量能夠回調iterator()\方法獲取一個Iterator對象,這個Iterator對象存放散列映射中全部鍵/值對中的值
    • 基於散列映射的查詢
      • 對於常常須要進行查找的數據能夠採用散列映射來儲存這樣的數據,即爲數據指定一個查找它的關鍵字,而後按着鍵/值對,將關鍵字和數據一併存入散列映射中
  • 樹集
    • TreeSet<E>泛型類
      • 樹集採用樹結構存儲數據,樹結點中的數據會按存放的數據的「大小」順序一層一層地依次排列,在同一層中的結點從左到右按字典順序從小到大遞增排列,下一層的都比上一層的小
    • 結點的大小關係
      • 樹集不按添加的前後順序排列,用add方法添加結點
    • 經常使用方法
      • public boolean add(E o),向樹集添加結點,結點中的數據由參數指定,添加成功返回true,不然返回false
      • public void clear(),刪除樹集中的全部結點
      • public void contains(Object o),若是樹集中有包含參數指定的對象,則返回true,不然返回false
      • public E first(),返回樹集中的第一個結點中的數據
      • public E last(),返回樹集中的最後一個結點中的數據
      • public boolean isEmpty(),判斷是不是空樹集,若是樹集不含任何結點,則返回true
      • public boolean remove(Object o),刪除樹集中的存儲參數指定的對象的最小結點,刪除成功返回true,不然返回false
      • public int size(),返回樹集中結點的數目
  • 樹映射
    • 使用public V put(K key,V value)方法添加節點
  • 自動裝箱與拆箱

教材學習中的問題和解決過程

代碼託管

學習心得

  • 本章知識點並非不少,不少內容與數據結構課上所學的能夠相結合,理解應用上來講相對前面所學內容較爲簡單

參考資料

相關文章
相關標籤/搜索