20175120彭宇辰 《Java程序設計》第八周學習總結
阿新 • • 發佈:2019-04-22
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程序設計》第八周學習總結