《JAVA程序设计》第八周学习总结
教材學習內容總結
第十五章 泛型與集合框架
泛型
1.泛型類聲明:
class People<E>
其中People是泛型類的名稱,E是其中的泛型
2.泛型的重要目的是可以建立具有類型安全的數據結構,如鏈表、散列表等數據結構,而且在使用這些泛型類建立的數據結構時,不必進行強制類型轉換,即不要求進行運行時的類型檢查。
鏈表
1.鏈表示意圖
2.LinkedList泛型類
java.util 包中的 LinkedList泛型類創建的對象以鏈表結構儲存數據,習慣上稱LinkedList類創建的對象為鏈表對象
LinkedList<String> mylist=new LinkedList<String>();
3.常用方法:
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)判斷鏈表中是否有結點含有數據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()得到當前鏈表的一個克隆鏈表,該克隆鏈表中結點數據的改變不會影響到當前鏈表中結點的數據,反之亦然
4.遍歷鏈表
鏈表對象可以使用iterator()方法獲取一個Iterator對象,該對象是針對當前鏈表的迭代器
5.排序與查找
public static sort(List<E>list)該方法可以將list中的元素按順序排序。
int binarySearch(List<T>list,T key,CompareTo<T>c)使用析半法查找list是否含有和參數key相等的元素,如果key與鏈表中的某個元素相等,方法返回和key相等的元素在鏈表中的索引位置(鏈表的索引位置從0開始),否則返回-1。
6.洗牌與旋轉
public static void shuffle(List<E>list)將list中的元素按洗牌算法重新隨機排序
static void rotate(List<E>list,int distance)旋轉鏈表中的數據
public static void reverse(List<E>list)翻轉list中的數據
堆棧
1.堆棧只能在一端進行輸入或輸出數據的操作。堆棧把第一個放入該堆棧的數據放在最底下,而把后續放入的數據放在已有的數據的頂上。
2.方法:
public E push(E item)實現壓棧操作(向堆棧中輸入數據)
public E pop()實現彈棧操作(從堆棧中輸出數據)
public boolean empty()判斷堆棧是否還有數據
public E peek()獲取堆棧頂端的數據,但不能刪除該數據
public int search(Object data)獲取數據在堆棧中的位置
散列映射
1.HashMap<K,V>泛型類創建的對象稱作散列映射
HashMap<String,Student> hashtable=HashSet<String,Student>();
2.常用方法:
public void clear清空散列映射
public Object clone()返回當前散列映射的一個克隆
public V get(Object key)返回散列映射中使用key做鍵的鍵/值對中的值
public V remove(Object key)刪除散列映射中鍵為參數指定的鍵/值對,并返回鍵對應的值。
public int size()返回散列映射大小,即散列映射中鍵/值對的數目。
樹集
1.TreeSet泛型類
TreeSet<E>類是實現Set<E>接口的類,它的大部分方法都是接口方法的實現。
2.TreeSet類的常用方法
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()返回樹集中結點的數目
代碼托管(https://gitee.com/Lyh20175309/java-besti-is-lyh/tree/master/jcdm)
學習心得
是真的難,發現自己前面基礎打的不牢固了
轉載于:https://www.cnblogs.com/20175309lyh/p/10745592.html
總結
以上是生活随笔為你收集整理的《JAVA程序设计》第八周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: luogu P2365 任务安排(FJO
- 下一篇: 2022年黔东南初二地理生物模拟卷答案