1.5k 1 分鐘

# Lambda 是什麼? Lambda 表達式是一小段代碼,它接受參數並返回一個值。 Lambda 表達式類似於方法,但它們不需要名稱,並且可以直接在方法中實現。 # 語法 最簡單的使用方式,就是只使用一個參數和一個表達式: 使用格式parameter -> expression使用 () 可以傳入多個參數: 使用格式(parameter1, parameter2) -> expression上面的使用必須立即返回一個值,並不能包含宣告變數、賦值或 if 或 for 之類的語句。 因此,為了進行更複雜的操作,程式碼區塊可以搭配大括號 {}...
1k 1 分鐘

# 迭代器 Iterator 迭代器是一種設計模式,它是一個物件,它可以遍歷並選擇序列中的物件, 而開發人員不需要了解該序列的底層結構。 迭代器通常被稱為輕量級物件,因為建立它的代價小。 # 使用 Iterator 可以用來處理任何的 collection 。 public static void main(String[] args) { // 創建一個集合 ArrayList <String> cars = new ArrayList<String>(); cars.add("Volvo");...
1.4k 1 分鐘

# Deque 介面 public static void main(String[] args){ // 初始化 ArrayDeque ArrayDeque<Integer> de_que = new ArrayDeque<Integer>(10); // 用 add () 插入元素 de_que.add(10); de_que.add(20); de_que.add(30); de_que.add(40); de_que.add(50); System.out.println(de_que); // 清空 deque...
2.4k 2 分鐘

# Collection 介紹 程式中經常有將物件收集在一起以便管理使用的需求, 一個實作 Collection 介面的物件可以提供這種服務。 使用 Collection 的優點: 一致的 API 減少工作量 增進程式碼的速度跟質量 # Collection 架構圖 # List 介面 # ArrayList ArrayList 是基於動態陣列的資料結構 ArrayList 有 get() 和 set() 方法,隨機訪問比較快 O(1) ArrayList 對新增和刪除操作 add() 和 remove() 操作需要移動資料 ArrayList 浪費空間主要在於在 list...
1.2k 1 分鐘

Java 可以利用例外處理的機制協助我們避開或是處理可能發生的錯誤~~ # 簡單的例外處理 我們可以使用 try 、 catch 分別執行程式碼與捕捉代表錯誤的物件,做一些例外的處理。 try{ // 陳述句}catch(例外型態 名稱){ // 例外處理}範例程式碼public class Average{ public static void main(String[] args){ Scanner console = new Scanner(System.in); double...
1.9k 2 分鐘

有很多人說過:別濫用繼承,或者是優先考慮介面而非繼承。 # 什麼是介面? 如果有個人想開發一個海洋遊樂園的遊戲,當中所有東西都會游泳。 於是,第一個當下,會想到魚會游泳!!所以,馬上就設定 Fish 為一抽象類別,內部定義一個抽象的方法 swim() ,就可以實現啦!! 但是,如果那個會游泳的東西,不是魚呢??就像是人也會游泳阿!!難道,他就要繼承為魚了嗎? 為了解決這個問題,我們開發了介面,描述不同的類別的共通行為。 # 宣告介面 以上面的描述作為例子,我們可以用 interface 定義一個游泳這個行為: 範例程式[修飾子] interface 介面名稱{ //...
1.1k 1 分鐘

# 什麼是抽象? 我們可以定義一個 Animal 類別,但實際上有這種東西嗎?顯然的,我們都只能舉出動物的實例,所以說,動物只是一個概念,並沒有一種生物叫作動物。 # 抽象類別 利用 abstract 關鍵字可以修飾掉類別,將類別轉為抽象: 使用格式abstract class 類別名{ // 成員定義}以動物作為例子: 例子abstract class Animal{ int height,weight; void move(){...
1.7k 2 分鐘

# 多型基本概念 多型表示利用父類別提供的方法呼叫,卻可以獲得子類別特有的行為。 class Animal{ void move(){ System.out.println("Animal moves!!!"); }}class Dog extends Animal{ void move(){ System.out.println("Dog run!!!"); }}class Bird extends...
4k 4 分鐘

# 繼承的使用 如果有一種情況,定義了 Aminal 類別,它的定義有: 屬性:年齡、重量、名字方法:移動若此時,我又定義了一個類別,稱作 Dog : 屬性:年齡、重量、名字、毛色、身長方法:移動、睡、吃、喝這時,我們會發現 Dog 有許多部分與 Animal 重複。 我們可以在定義時,就延伸動物的類別,再加上狗專屬的特性即可。 Dog 就繼承了 Animal , Animal 在這裡是父類別, Dog 就成了繼承父類別的子類別。 # 程式碼呈現 extends class 子類別 extends 父類別{ // 程式碼}只要在子類別的後方加上...