集合框架应用一

简介: 集合框架应用一

Java集合框架是Java语言提供的一套丰富多样的数据结构和算法的实现,包括各种集合接口(如List, Set, Map等)和它们的具体实现类(如ArrayList, HashSet, HashMap等)。下面我将提供一个使用Java集合框架的简单实例,演示如何使用ListSet接口来存储和操作数据。

实例:学生信息管理

假设我们有一个学生信息管理系统,需要存储学生的姓名和年龄,并且我们想要实现以下功能:

1. 添加学生信息

2. 列出所有学生信息

3. 查找特定姓名的学生

4. 删除特定姓名的学生

首先,我们定义一个Student类来存储学生的姓名和年龄:

java复制代码

 

public class Student {

 

private String name;

 

private int age;

 

 

 

public Student(String name, int age) {

 

this.name = name;

 

this.age = age;

 

}

 

 

 

public String getName() {

 

return name;

 

}

 

 

 

public int getAge() {

 

return age;

 

}

 

 

 

@Override 

 

public String toString() {

 

return "Student{" +

 

"name='" + name + '\'' +

 

", age=" + age +

 

'}';

 

}

 

}

然后,我们创建一个StudentManager类来管理学生信息,并使用ListSet来存储学生对象:

java复制代码

 

import java.util.ArrayList;

 

import java.util.HashSet;

 

import java.util.List;

 

import java.util.Set;

 

 

 

public class StudentManager {

 

private List<Student> studentList;

 

private Set<String> studentNameSet;

 

 

 

public StudentManager() {

 

studentList = new ArrayList<>();

 

studentNameSet = new HashSet<>();

 

}

 

 

 

public void addStudent(Student student) {

 

studentList.add(student);

 

studentNameSet.add(student.getName());

 

}

 

 

 

public void listAllStudents() {

 

for (Student student : studentList) {

 

System.out.println(student);

 

}

 

}

 

 

 

public Student findStudentByName(String name) {

 

for (Student student : studentList) {

 

if (student.getName().equals(name)) {

 

return student;

 

}

 

}

 

return null;

 

}

 

 

 

public void deleteStudentByName(String name) {

 

Student student = findStudentByName(name);

 

if (student != null) {

 

studentList.remove(student);

 

studentNameSet.remove(name);

 

}

 

}

 

}

最后,我们在主函数中演示如何使用StudentManager

java复制代码

 

public class Main {

 

public static void main(String[] args) {

 

StudentManager manager = new StudentManager();

 

 

 

// 添加学生信息

 

manager.addStudent(new Student("Alice", 20));

 

manager.addStudent(new Student("Bob", 22));

 

manager.addStudent(new Student("Charlie", 21));

 

 

 

// 列出所有学生信息

 

System.out.println("所有学生信息:");

 

manager.listAllStudents();

 

 

 

// 查找特定姓名的学生

 

Student foundStudent = manager.findStudentByName("Bob");

 

if (foundStudent != null) {

 

System.out.println("找到学生: " + foundStudent);

 

} else {

 

System.out.println("未找到学生 Bob");

 

}

 

 

 

// 删除特定姓名的学生

 

manager.deleteStudentByName("Charlie");

 

System.out.println("删除 Charlie 后的学生信息:");

 

manager.listAllStudents();

 

}

 

}

这个示例演示了如何在Java中使用集合框架来管理一组学生对象。我们使用了List来维护学生的顺序,并使用Set来快速检查某个学生姓名是否已存在。ListSet都是Java集合框架中的接口,它们的实现类(如ArrayListHashSet)提供了高效的存储和检索机制。

请注意,这个示例中的findStudentByName方法并不是最高效的,因为它遍历了整个studentList来查找学生。在实际应用中,如果经常需要按姓名查找学生,可能考虑使用Map<String, Student>来存储学生信息,其中键是学生的姓名,这样查找操作就是O(1)复杂度了。

 

目录
相关文章
|
4天前
|
存储 设计模式 算法
Java集合框架详解
Java集合框架详解
15 0
|
1月前
|
存储 Java 索引
Java集合框架
Java集合框架
15 0
|
1月前
|
存储 供应链 Java
集合框架应用二
集合框架应用二
16 1
|
1月前
|
存储 算法 安全
JAVA集合框架
JAVA集合框架
|
11月前
|
存储 Java 索引
Java集合框架详解(一)
Java集合框架详解(一)
|
11月前
|
存储 安全 Java
Java集合框架详解(二)
Java集合框架详解(二)
|
存储 Java 容器
Java集合框架的一些小知识
Java集合框架的一些小知识
|
存储 Java 索引
Java集合框架总结
Java集合框架总结
82 0
|
存储 Java 索引
Java集合框架详解1
Java集合框架详解1
82 0
Java集合框架详解1
|
存储 安全 Java
Java集合框架详解2
Java集合框架详解2
81 0