在链表集合中增加/删除元素 本题目已定义一个 People 类。属性:名字(name)、年龄(age);方法:getName() 获取名字、toString() 输出对象。 现使用链表存储 People 对象。首先,通过输入创建 People 对象并插入到链表;然后,删除指定名字的链表元素。
时间: 2023-12-10 19:37:27 浏览: 71
可以使用 Java 中的 LinkedList 类来实现链表集合的增加和删除元素操作。下面是一个示例代码:
```java
import java.util.LinkedList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
LinkedList<People> peopleList = new LinkedList<>();
// 创建 People 对象并插入到链表
Scanner scanner = new Scanner(System.in);
System.out.print("请输入人数:");
int n = scanner.nextInt();
scanner.nextLine(); // 消费掉换行符
for (int i = 1; i <= n; i++) {
System.out.println("请输入第 " + i + " 个人的名字和年龄,用空格分隔:");
String[] input = scanner.nextLine().split("\\s+");
String name = input[0];
int age = Integer.parseInt(input[1]);
People people = new People(name, age);
peopleList.add(people);
}
// 输出链表中的元素
System.out.println("插入元素后的链表:");
for (People people : peopleList) {
System.out.println(people);
}
// 删除指定名字的链表元素
System.out.print("请输入要删除的人的名字:");
String nameToDelete = scanner.nextLine();
boolean deleted = false; // 记录是否删除了元素
for (People people : peopleList) {
if (people.getName().equals(nameToDelete)) {
peopleList.remove(people);
deleted = true;
break;
}
}
if (deleted) {
System.out.println("删除成功!");
} else {
System.out.println("没有找到要删除的人!");
}
// 输出删除元素后的链表
System.out.println("删除元素后的链表:");
for (People people : peopleList) {
System.out.println(people);
}
}
}
class People {
private String name;
private int age;
public People(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
@Override
public String toString() {
return "People{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
```
运行程序后,可以按照提示输入人数和每个人的名字和年龄,然后输入要删除的人的名字,程序就会输出删除元素前后的链表内容。
阅读全文