《JAVA程序设计》第八周学习总结
教材學(xué)習(xí)內(nèi)容總結(jié)
第十五章 泛型與集合框架
泛型
1.泛型類聲明:
class People<E>
其中People是泛型類的名稱,E是其中的泛型
2.泛型的重要目的是可以建立具有類型安全的數(shù)據(jù)結(jié)構(gòu),如鏈表、散列表等數(shù)據(jù)結(jié)構(gòu),而且在使用這些泛型類建立的數(shù)據(jù)結(jié)構(gòu)時,不必進行強制類型轉(zhuǎn)換,即不要求進行運行時的類型檢查。
鏈表
1.鏈表示意圖
2.LinkedList泛型類
java.util 包中的 LinkedList泛型類創(chuàng)建的對象以鏈表結(jié)構(gòu)儲存數(shù)據(jù),習(xí)慣上稱LinkedList類創(chuàng)建的對象為鏈表對象
LinkedList<String> mylist=new LinkedList<String>();
3.常用方法:
public boolean add<E element>向鏈表的指定位置添加一個新的結(jié)點,該結(jié)點中的數(shù)據(jù)是參數(shù)element指定的數(shù)據(jù)
public void add(int index, E element)向鏈表的指定位置添加一個新的結(jié)點,該結(jié)點中的數(shù)據(jù)是參數(shù)element指定的數(shù)據(jù)
public void clear()刪除鏈表的所有結(jié)點,使當前鏈表成為空鏈表
public E remove(int index)刪除指定位置上的結(jié)點
public boolean remove(E element)刪除首次出現(xiàn)含有數(shù)據(jù)element的結(jié)點
public E get(int index)得到鏈表中指定位置處結(jié)點中的數(shù)據(jù)
public int indexOf(E element)返回含有數(shù)據(jù)element的結(jié)點在鏈表中首次出現(xiàn)的位置,如果鏈表中無此結(jié)點則返回-1
public int lastIndexOf(E element)返回含有數(shù)據(jù)element的結(jié)點在鏈表中最后出現(xiàn)的位置,如果鏈表中無此結(jié)點則返回-1
public E set(int index,E element)將當前鏈表index位置結(jié)點中的數(shù)據(jù)替換為參數(shù)element指定的數(shù)據(jù),并返回被替換的數(shù)據(jù)
public int size()返回鏈表的長度,即結(jié)點的個數(shù)
public boolean contains(Object element)判斷鏈表中是否有結(jié)點含有數(shù)據(jù)element。
public void addFirst(E element)向鏈表的頭添加新結(jié)點,該結(jié)點中的數(shù)據(jù)是參數(shù)element指定的數(shù)據(jù)
public void addLast(E element)向鏈表的末尾添加新結(jié)點,該結(jié)點中的數(shù)據(jù)是參數(shù)element指定的數(shù)據(jù)
public E getFirst()得到鏈表中第一個結(jié)點中的數(shù)據(jù)
public E getLast()得到鏈表中最后一個結(jié)點中的數(shù)據(jù)
public E removeFirst()刪除第一個結(jié)點,并返回這個結(jié)點中的數(shù)據(jù)
public E removeLast()刪除最后一個結(jié)點,并返回這個結(jié)點中的數(shù)據(jù)
public Object clone()得到當前鏈表的一個克隆鏈表,該克隆鏈表中結(jié)點數(shù)據(jù)的改變不會影響到當前鏈表中結(jié)點的數(shù)據(jù),反之亦然
4.遍歷鏈表
鏈表對象可以使用iterator()方法獲取一個Iterator對象,該對象是針對當前鏈表的迭代器
5.排序與查找
public static sort(List<E>list)該方法可以將list中的元素按順序排序。
int binarySearch(List<T>list,T key,CompareTo<T>c)使用析半法查找list是否含有和參數(shù)key相等的元素,如果key與鏈表中的某個元素相等,方法返回和key相等的元素在鏈表中的索引位置(鏈表的索引位置從0開始),否則返回-1。
6.洗牌與旋轉(zhuǎn)
public static void shuffle(List<E>list)將list中的元素按洗牌算法重新隨機排序
static void rotate(List<E>list,int distance)旋轉(zhuǎn)鏈表中的數(shù)據(jù)
public static void reverse(List<E>list)翻轉(zhuǎn)list中的數(shù)據(jù)
堆棧
1.堆棧只能在一端進行輸入或輸出數(shù)據(jù)的操作。堆棧把第一個放入該堆棧的數(shù)據(jù)放在最底下,而把后續(xù)放入的數(shù)據(jù)放在已有的數(shù)據(jù)的頂上。
2.方法:
public E push(E item)實現(xiàn)壓棧操作(向堆棧中輸入數(shù)據(jù))
public E pop()實現(xiàn)彈棧操作(從堆棧中輸出數(shù)據(jù))
public boolean empty()判斷堆棧是否還有數(shù)據(jù)
public E peek()獲取堆棧頂端的數(shù)據(jù),但不能刪除該數(shù)據(jù)
public int search(Object data)獲取數(shù)據(jù)在堆棧中的位置
散列映射
1.HashMap<K,V>泛型類創(chuàng)建的對象稱作散列映射
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)刪除散列映射中鍵為參數(shù)指定的鍵/值對,并返回鍵對應(yīng)的值。
public int size()返回散列映射大小,即散列映射中鍵/值對的數(shù)目。
樹集
1.TreeSet泛型類
TreeSet<E>類是實現(xiàn)Set<E>接口的類,它的大部分方法都是接口方法的實現(xiàn)。
2.TreeSet類的常用方法
public boolean add(E o)向樹集添加結(jié)點,結(jié)點中的數(shù)據(jù)由參數(shù)指定,添加成功返回true,否則返回false
public void clear()刪除樹集中的所有結(jié)點
public void contains(Object o)如果樹集中有包含參數(shù)指定的對象,則返回true,否則返回false
public E first()返回樹集中的第一個結(jié)點中的數(shù)據(jù)
public E last()返回樹集中的最后一個結(jié)點中的數(shù)據(jù)
public boolean isEmpty()判斷是否是空樹集,如果樹集不含任何結(jié)點,則返回true
public boolean remove(Object o)刪除樹集中的存儲參數(shù)指定的對象的最小結(jié)點,刪除成功返回true,否則返回false
public int size()返回樹集中結(jié)點的數(shù)目
代碼托管(https://gitee.com/Lyh20175309/java-besti-is-lyh/tree/master/jcdm)
學(xué)習(xí)心得
是真的難,發(fā)現(xiàn)自己前面基礎(chǔ)打的不牢固了
轉(zhuǎn)載于:https://www.cnblogs.com/20175309lyh/p/10745592.html
總結(jié)
以上是生活随笔為你收集整理的《JAVA程序设计》第八周学习总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: luogu P2365 任务安排(FJO
- 下一篇: 最大矩阵(简单DP)