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函式用於在控制檯上列印特定元素。

更新於:2020年9月14日

2K+ 瀏覽量

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.