1. 程式人生 > >Java基礎進階Day03

Java基礎進階Day03

Java基礎進階Day03

課程大綱

1、List集合 ------------------------> 理解
2、資料結構 ------------------------> 理解
3、List的子類 ----------------------> 瞭解
4、Set集合 -------------------------> 重點
5、Collections ---------------------> 瞭解

第一章 List集合

1、List集合特點
A、有序(儲存的順序和取出的順序是一致的)
B、有重複(存放的資料可以是重複的)
C、有索引(存放的元素有索引,
可以通過索引操作元素)
2、List集合的特有功能(索引相關)
A、增  	void add(int index,E e) 	 //新增元素到指定位置
B、刪  	E remove(int index) 		//刪除指定位置的元素,並且將該元素返回
C、改  	E set(int index,E e) 		//修改指定位置的元素,並且將原始元素返回
D、查  	E get(int index) 			//獲取指定索引位置的元素

第二章 資料結構

1、常見的資料結構
A、棧(先進後出)
B、佇列(先進先出)
C、陣列(查詢快、增刪慢)
D、連結串列(查詢慢、增刪快)
E、紅黑樹(二叉樹、提升搜尋效率)
-->瞭解即可

第三章 List的子類

1、關於LinkedList(主要是操作頭和尾的方法)
A、增
	public void addFirst(E e)  	//將指定元素新增到列表的開頭
	public void addLast(E e) 	//將指定元素新增到列表的結尾
	
B、刪
	public E removeFirst() 		//移除並且返回此列表的第一個元素
	public E removeLast()		//移除並且返回此列表的最後一個元素
	
C、查
	public E getFirst()			//返回此列表的第一個元素
	public E getLast()			//返回此列表的最後一個元素
D、其他 public E pop() //從此列表所表示的堆疊當中彈出一個元素 public void push(E e) //將元素推入此列表所表示的堆疊 public boolean isEmpty() //如果列表不包含任何元素,則返回true

第四章 Set集合

1、Set集合特點
A、無序(儲存的順序和取出的順序可能不是一致的)
B、無重複(存放的資料可以是無重複的,可以用來去重)
C、無索引(沒有索引,無法通過索引獲取元素值)
2、Set集合的體系
A、子類 HashSet		無序、無重複
B、子類 LinkedHashSet	有序、無重複
3、可變引數
A、可變引數基本格式:
	a.定義格式
		修飾符  返回值型別  方法名稱(資料型別... 引數名){
			方法體;
			return 返回值;
		}
	b.使用格式
		資料型別 返回值 = 方法名稱(引數1,引數2,引數3,引數4);

B、可變引數注意:可變引數只能使用在引數列表的最後

第五章 Collections

1、常用的方法
public static <T> boolean addAll(Collection<T> c,T... elements) //往集合當中新增元素
public static void shuffle (List<?> list) //隨機置換 打亂集合的順序
public static <T> void sort(List<T> list) //將集合中元素按照預設規則排序
public static <T> void sort(List<T> list,Comparator<? super T> comparator) //按指定規則排序
2、兩種比較器【拓展】
A、內比較器 Comparable 採用實現介面去實現【固定】
		當前的類去實現 Comparable<T> 介面,新增未實現的方法
		
B、外比較器 Comparator 採用匿名內部類實現【靈活】
		Collections.sort(list, new Comparator<T>(){ ... }); 

C、升序和降序操作
		升序: 當前在前升 (當前 - 傳入) o1.compareTo(o2)
		降序: 當前在後降 (傳入 - 當前) o2.compareTo(o1)