集合框架应用一

简介: 集合框架应用一

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)复杂度了。

 

目录
相关文章
|
26天前
集合框架
List接口:有序集合,允许重复元素。常用实现类有ArrayList和LinkedList。 List<String> list = new ArrayList<>(); list.add("apple"); list.add("banana"); list.add("apple"); Set接口:无序集合,不允许重复元素。常用实现类有HashSet、TreeSet。 Set<String> set = new HashSet<>(); set.add("apple"); set.add("banana"); Map接口:键值对映射,键不能重
|
2月前
|
存储 算法 安全
深入理解Java中的集合框架
【9月更文挑战第34天】本文将带你走进Java的集合框架,探索其背后的设计哲学和实现细节。我们将从集合的基本概念出发,逐步深入到具体的接口和类的实现,最后通过一个实际的例子来展示如何在Java程序中高效地使用集合。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和深度理解。
49 1
|
5月前
|
存储 算法 安全
Java集合框架详解
Java集合框架详解
|
7月前
|
存储 安全 Java
深入理解Java集合框架
深入理解Java集合框架
40 0
|
7月前
|
存储 供应链 Java
集合框架应用二
集合框架应用二
47 1
|
7月前
|
存储 Java 索引
Java集合框架
Java集合框架
36 0
|
存储 算法 Java
Java实现—数据结构 1.初识集合框架
Java实现—数据结构 1.初识集合框架
62 0
|
存储 安全 Java
Java集合框架详解(二)
Java集合框架详解(二)
|
存储 Java 索引
Java集合框架详解(一)
Java集合框架详解(一)
|
存储 Java 容器
Java集合框架的一些小知识
Java集合框架的一些小知识