Java集合框架:List和Set的异同及问题演示
在Java中,List和Set都是集合框架的一部分,但它们的用途和特性有所不同。
相同点:
- 都是对象数组,底层实现为数组。
- 都提供了动态增加、删除元素的能力。
不同点:
- List有序,允许重复元素;而Set无序,不允许重复元素。这体现在add、remove方法上。
- List提供迭代器遍历,通过iterator()方法获取;而Set除了提供迭代器外,还提供了HashSet的构造器,可以直接创建集合对象。
问题演示:
假设我们有一个学生列表,需要检查某个学生是否已存在于列表中。这是List的一个常见应用场景。
// 假设我们有一个学生类Student和一个学生列表List<Student>
class Student {
String name;
// 构造函数
Student(String name) {
this.name = name;
}
}
List<Student> students = new ArrayList<>();
students.add(new Student("Tom")); // 添加第一个学生
students.add(new Student("Jerry")); // 添加第二个学生
// 检查某个学生是否已存在于列表中
boolean studentExist = students.contains(new Student("Tom"))); // 输出:true
在这个例子中,我们检查了名为”Tom”的学生是否存在于students
集合中。由于contains()
方法会自动处理重复元素,所以检查结果为true
。
还没有评论,来说两句吧...