1. 程式人生 > >20175120彭宇辰 《Java程序設計》第八周學習總結

20175120彭宇辰 《Java程序設計》第八周學習總結

style shuff 一個 技術 大小 cti item map stat

教材學習內容總結

第十五章 泛型與集合框架

一、泛型

泛型的主要目的是可以建立具有類型安全的集合框架,如鏈表、散列映射等數據結構。

1.泛型類聲明

class People<E>

  People是泛型類的名稱,E是其中泛型。

2.使用泛型類聲明對象

Cone<Circle> coneOne;
coneOne =new Cone<Circle>(new Circle());

二、鏈表

鏈表是由若幹個稱作節點的對象組成的一種數據結構,每個節點含有一個數據和下一個節點的引用 。

1.LinkerList<E>泛型類

LinkerList<String>mylist=new LinkedList<String>();

  創建了一個空雙鏈表。

2.常用方法

public boolean add(E element)
向鏈表末尾添加一個新的節點,該節點中的數據是參數elememt指定的數據。
public void add(int index ,E element)
向鏈表的指定位置添加一個新的節點,該節點中的數據是參數elememt指定的數據。
public void clear()
刪除鏈表的所有節點,使當前鏈表成為空鏈表
public E get(int index)
得到鏈表中指定位置處節點中的數據。

3.遍歷鏈表

-用叠代器快速遍歷

-鏈表對象使用iterator()方法獲取一個對象,即叠代器。

Iterator it=list.iterator();
Student st=it.next();

  調用next()獲取第一個結點。

4.排序與查找

-Collections類提供的用於排序和查找的類方法如下:

public static sort(List<E> list) 
該方法可以將list中的元素升序排列。
int binarySearch(List<T> list, T key,CompareTo<T> c)
使用折半法查找list是否含有和參數key相等的元素,如果key鏈表中某個元素相等,方法返回和key相等的元素在鏈表中的索引位置(鏈表的索引位置從0考試),否則返回-1。

5.洗牌與旋轉

-重新隨機排列與移位

-Collections類提供

public static void shuffle(List<E> list) 
將list中的數據按洗牌算法重新隨機排列。
static void rotate(List<E> list, int distance) 
旋轉鏈表中的數據。
public static void reverse(List<E> list)
翻轉list中的數據

三、堆棧

-堆棧是一種“後進先出”的數據結構,只能在一端進行輸入或輸出數據的操作。

-使用java.lang包中的Stack泛型類創建一個堆棧對象,堆棧對象常用方法:

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>();

  用HashMap<K,V>創建對象

2.遍歷散列映射

public Collection<V> values()
返回一個實現Collection接口類創建的對象。

五、樹集

-TreeSet<E>類創建的對象稱作樹集

-樹結點中的數據會按存放的數據的大小順序排列

-同一層結點從左到右由小變大

TreeSTreet<String>mytree=new TreeSet<String>();

六、樹映射

-TreeMap<K,V>類實現了Map<K,V>接口,稱TreeMap<K,V>對象為樹映射。

樹映射使用public V put(K key,V value);方法添加節點。

代碼托管:https://gitee.com/pyc-1751/chapter_1_of_java.git

代碼量截圖

技術分享圖片

20175120彭宇辰 《Java程序設計》第八周學習總結