头歌 学习-Java集合类之List的LinkedList之特有方法的使用 12-4


任务描述

本关任务:替换 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.*;

public class CollTest {

    public static void main(String[] args) {

        // 请在Begin-End间编写代码
        /********** Begin **********/
        // 第一步:接收给定的一行字符串
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        // 第二步:切割字符串
        String[] strArray = str.split(",");
        // 第三步:创建集合
        LinkedList<String> list = new LinkedList<>();
        // 第四步:将切割后的元素添加进集合
        for(String s:strArray){
            list.add(s);
        }
        // 第五步:替换首尾元素
        list.set(0,"aa");
        list.set(list.size()-1,"aa");
        // 第六步:打印集合
        System.out.println(list);
        /********** End **********/
    }
}

LinkedList常用方法

增加:

  • add(E e):在链表后添加一个元素; 通用方法

  • addFirst(E e):在链表头部插入一个元素; 特有方法

  • addLast(E e):在链表尾部添加一个元素; 特有方法

  • push(E e):与addFirst方法一致

  • offer(E e):在链表尾部插入一个元素 add(int index, E element):在指定位置插入一个元素。

  • offerFirst(E e):JDK1.6版本之后,在头部添加; 特有方法 offerLast(E e):JDK1.6版本之后,在尾部添加; 特有方法

删除:

  • remove() :移除链表中第一个元素; 通用方法

  • remove(E e):移除指定元素; 通用方法

  • removeFirst(E e):删除头,获取元素并删除; 特有方法

  • removeLast(E e):删除尾; 特有方法

  • pollFirst():删除头; 特有方法

  • pollLast():删除尾; 特有方法

  • pop():和removeFirst方法一致,删除头。

  • poll():查询并移除第一个元素 特有方法

查:

  • get(int index):按照下标获取元素; 通用方法

  • getFirst():获取第一个元素; 特有方法

  • getLast():获取最后一个元素; 特有方法

  • peek():获取第一个元素,但是不移除; 特有方法

  • peekFirst():获取第一个元素,但是不移除;

  • peekLast():获取最后一个元素,但是不移除;

  • pollFirst():查询并删除头; 特有方法

  • pollLast():删除尾; 特有方法

  • poll():查询并移除第一个元素 特有方法

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值