目录
任务描述
本关任务:替换 LinkedList 集合中的首尾元素。
相关知识
List 集合主要有 ArrayList 和 LinkedList 两个实现类,本实训将介绍 LinkedList 集合。
什么是 LinkedList集合
LinkedList 是 List 集合的实现类,它的底层数据结构是链表,因此它具有查询慢,增删快的特点。
创建 LinkedList 集合
使用以下代码即可创建 LinkedList 集合。
import java.util.LinkedList;
public class tt {
public static void main(String[] args) {
// 创建存储字符串的LinkedList集合
LinkedList<String> strings = new LinkedList<>();
}
}
LinkedList 集合的方法
LinkedList 集合的增删改查方法和 ArrayList 集合是一样的,以下是它特有的方法:
方法名 | 说明 |
addFirst(Object obj) | 在集合第一位添加一个元素 |
addLast(Object obj) | 在集合最后一位添加一个元素 |
getFirst() | 得到集合第一位的元素 |
getLast() | 得到集合的最后一位元素 |
removeFirst() | 删除集合的第一个元素 |
removeLast() | 删除集合的最后一个元素 |
特有方法使用示例:
public static void main(String[] args) {
// 创建存储字符串的集合
LinkedList<String> list = new LinkedList<>();
// 添加元素
list.add("gt");
list.add("hello");
System.out.println(list);
// 在集合第一位添加一个元素
list.addFirst("first");
System.out.println(list);
// 得到集合的第一个元素
String first = list.getFirst();
System.out.println(first);
// 删除集合的最后一个元素
list.removeLast();
System.out.println(list);
}
执行结果:
[gt, hello]
[first, gt, hello]
first
[first, gt]
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,具体要求如下:
- 接收给定的一行字符串(如:hello,hi,ask);
- 根据英文逗号切割字符串,把切割后的元素添加进 LinkedList 集合;
- 使用 LinkedList 的特殊方法将首尾元素都替换为 aa;
- 输出替换后的字符
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
例: 测试输入:
hello,hi,ask
预期输出:
[aa,hi,aa]
开始你的任务吧,祝你成功!
参考答案
import java.util.LinkedList;
import java.util.Scanner;
public class CollTest {
public static void main(String[] args) {
// 请在Begin-End间编写代码
/********** Begin **********/
// 第一步:接收给定的一行字符串
Scanner input=new Scanner(System.in);
String str=input.nextLine();
// 第二步:切割字符串
String[] array=str.split(",");
// 第三步:创建集合
LinkedList<String> list = new LinkedList<>();
// 第四步:将切割后的元素添加进集合
for(int i=0;i<array.length;i++){
list.add(array[i]);
}
// 第五步:替换首尾元素
list.removeFirst();
list.removeLast();
list.addFirst("aa");
list.addLast("aa");
// 第六步:打印集合
System.out.println(list);
/********** End **********/
}
}