在Java编程中,泛型集合类是数据结构的重要组成部分,它们提供了高度灵活性和类型安全,使得程序员能够创建和操作不同类型的数据集合。本篇笔记主要介绍了Java中的两种常见的泛型集合类——ArrayList和HashMap,并通过实例展示了它们的具体应用。
首先,ArrayList是Java集合框架中的一个动态数组,它允许存储可变数量的对象,并支持元素的动态添加、删除和检索。泛型形式为`ArrayList<T> list = new ArrayList<T>();`这里的`T`是一个类型参数,可以是任何引用类型,如`Integer`, `Double`, 或`String`。在提供的代码片段中,`ArrayList<i>`表示创建了一个列表,其中`i`应该是某个具体的类型,如`Integer`。创建列表后,我们可以轻松地添加对象,如`Student`类型,如`Student student = new Student(""+i, i);`,然后通过索引访问或使用`add()`方法添加到列表中。
其次,HashMap是另一种常用的数据结构,它提供了基于键值对的存储,每个键对应一个值。在泛型版本中,它被声明为`HashMap<K, V>`,其中`K`是键的类型,`V`是值的类型。在给定的示例中,`HashMap<String, Student> Hash = new HashMap<String, Student>();`创建了一个键为字符串,值为`Student`对象的哈希表。哈希表使用`put()`方法将学生对象与学生的学名作为键关联起来,如`Hash.put(student.getStuname(), student);`。
在实际操作中,遍历HashMap通常使用`entrySet()`方法,它返回一个包含所有键值对的`Set<Map.Entry<K, V>>`。这段代码中的`for (Map.Entry<String, Student> entity : Hash.entrySet())`就是遍历哈希表的关键部分,通过`getKey()`获取键(学名),`getValue()`获取对应的`Student`对象,并打印出键值对,例如`System.out.println(""+key+", ѩ" + value);`。
总结来说,这篇笔记通过实例展示了如何在Java中使用泛型集合类ArrayList和HashMap。学习者可以通过这个例子理解如何创建、填充和操作这些集合,以及如何利用泛型来确保类型安全,提高代码的可重用性和清晰性。这对于Java初学者和进阶开发者来说都是非常实用的知识点。