Java 中的非泛型集合与泛型集合
java 8server side programmingprogramming
泛型集合
- 错误出现在编译时而非运行时。
- 代码可重用性:泛型有助于重用已编写的代码,从而使其可用于其他类型(例如方法、类或接口)。
- 如果一个数据结构是泛型的,比如一个列表,它只会接受特定类型的对象并返回与输出相同的特定类型的对象。这样就无需单独进行类型转换。
- 算法可以轻松实现,因为它们可以用于不同类型的对象,同时保持类型安全性和代码可重用性。
示例
以下是一个例子 −
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 的类包含主函数。这里定义了一个字符串数组列表。使用 ‘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 的类包含主函数。这里定义了一个字符串数组列表。借助 ‘add’ 函数将元素添加到此列表中。‘get’ 函数用于将元素存储在特定索引处。这里,列表中的每个元素在存储到另一个字符串变量之前,都会被显式转换为 String 类型。println 函数用于在控制台上打印特定元素。