程序填空题:在链表集合中增加/删除元素
本题目已定义一个 People 类。属性:名字(name)、年龄(age);方法:getName() 获取名字、toString() 输出对象。
现使用链表存储 People 对象。首先,通过输入创建 People 对象并插入到链表;然后,删除指定名字的链表元素。
java
import java.util.*;
/*
这里是定义 People 类的代码,无需关心。
*/
public class Main {
public static void main(String args[]) {
LinkedList<People> peoples = new LinkedList<People>();//创建链表
Scanner sc=new Scanner(System.in);
peoples.add(new People("rose",18));//链表初始化
People p=new People(sc.next(),sc.nextInt());//新对象
;//新对象加到链表头
p=new People(sc.next(),sc.nextInt());//新对象
;//新对象加到链表尾
String name=sc.next();//输入名字
for (int i=peoples.size()-1;i>=0;i--) {//反向遍历链表
p=peoples.get(i);//取出第 i 个元素
if(p.getName().equals(name))//判断元素名字是否等于输入的名字
;//若名字相等,删除该元素
}
System.out.println(peoples);//输出链表
sc.close();
}
}
答案:
第1空:peoples.addFirst(p)
第2空:peoples.addLast(p)
第3空:peoples.remove(i)
现使用链表存储 People 对象。首先,通过输入创建 People 对象并插入到链表;然后,删除指定名字的链表元素。
java
import java.util.*;
/*
这里是定义 People 类的代码,无需关心。
*/
public class Main {
public static void main(String args[]) {
LinkedList<People> peoples = new LinkedList<People>();//创建链表
Scanner sc=new Scanner(System.in);
peoples.add(new People("rose",18));//链表初始化
People p=new People(sc.next(),sc.nextInt());//新对象
;//新对象加到链表头
p=new People(sc.next(),sc.nextInt());//新对象
;//新对象加到链表尾
String name=sc.next();//输入名字
for (int i=peoples.size()-1;i>=0;i--) {//反向遍历链表
p=peoples.get(i);//取出第 i 个元素
if(p.getName().equals(name))//判断元素名字是否等于输入的名字
;//若名字相等,删除该元素
}
System.out.println(peoples);//输出链表
sc.close();
}
}
答案:
第1空:peoples.addFirst(p)
第2空:peoples.addLast(p)
第3空:peoples.remove(i)