Java中的泛型集合與非泛型集合
泛型集合
- 錯誤在編譯時出現,而不是在執行時出現。
- 程式碼可重用性:泛型有助於重用已編寫的程式碼,從而使其可用於其他型別(對於方法、類或介面)。
- 如果資料結構是泛型的,例如列表,它只接受特定型別的物件並返回相同型別的物件作為輸出。這消除了單獨型別轉換的需要。
- 演算法可以輕鬆實現,因為它們可以用於處理不同型別的物件,同時保持型別安全性和程式碼可重用性。
示例
以下是一個示例:
import java.util.*;
public class Demo {
public static void main(String[] args) {
ArrayList<String> my_list = new ArrayList<String>();
my_list.add("Joe");
my_list.add("Rob");
my_list.add("John");
my_list.add("Billy");
String s1 = my_list.get(0);
String s2 = my_list.get(1);
String s3 = my_list.get(3);
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
}
}輸出
Joe Rob Billy
名為Demo的類包含main函式。這裡定義了一個字串的ArrayList。使用‘add’函式將元素新增到此列表中。‘get’函式用於儲存特定索引處的元素。println函式用於在控制檯上列印特定元素。
非泛型集合
- 當資料結構是非泛型時,嘗試從集合/資料結構中檢索資料時會產生問題。
- 每次從集合中檢索元素時,都需要將其顯式型別轉換為所需的型別,當元素過多時,這是一個問題。
使用非泛型集合實現上述程式碼將產生以下輸出。
示例
import java.util.*;
public class Demo {
public static void main(String[] args) {
ArrayList my_list = new ArrayList();
my_list.add("Joe");
my_list.add("Rob");
my_list.add("Nate");
my_list.add("Bill");
String s1 = (String)my_list.get(0);
String s2 = (String)my_list.get(1);
String s3 = (String)my_list.get(3);
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
}
}輸出
: Joe Rob Bill
名為Demo的類包含main函式。這裡定義了一個字串的ArrayList。使用‘add’函式將元素新增到此列表中。‘get’函式用於儲存特定索引處的元素。這裡,列表的每個元素在儲存到另一個字串變數之前都顯式地轉換為String型別。println函式用於在控制檯上列印特定元素。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP