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

目录

任务描述

相关知识

什么是 LinkedList集合

创建 LinkedList 集合

LinkedList 集合的方法

编程要求

测试说明

参考答案


任务描述

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

执行结果:

  1. [gt, hello]
  2. [first, gt, hello]
  3. first
  4. [first, gt]

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,具体要求如下:

  • 接收给定的一行字符串(如:hello,hi,ask);
  • 根据英文逗号切割字符串,把切割后的元素添加进 LinkedList 集合;
  • 使用 LinkedList 的特殊方法将首尾元素都替换为 aa;
  • 输出替换后的字符

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。

例: 测试输入:

  1. hello,hi,ask

预期输出:

  1. [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 **********/
    }
}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: LinkedList是Java中集合类之一,是一个双向链表。它特有的方法包括: 1. addFirst(E e):将指定元素插入此列表的开头。 2. addLast(E e):将指定元素插入此列表的结尾。 3. getFirst():返回此列表的第一个元素。 4. getLast():返回此列表的最后一个元素。 5. removeFirst():移除并返回此列表的第一个元素。 6. removeLast():移除并返回此列表的最后一个元素。 7. offerFirst(E e):在此列表的开头插入指定的元素。 8. offerLast(E e):在此列表的结尾插入指定的元素。 9. pollFirst():获取并移除此列表的第一个元素,如果此列表为空,则返回 null。 10. pollLast():获取并移除此列表的最后一个元素,如果此列表为空,则返回 null。 ### 回答2: List是Java集合类中常用的一种,而LinkedListList集合中的一种实现,和ArrayList相比,它具有一些独特的方法。 首先,LinkedList支持在list开头和结尾添加元素的方法。即addFirst(E e)和addLast(E e)。这两个方法在其他List实现中是没有的。这对于链表来说非常方便,因为在链表中,添加元素时只需要修改指针的指向即可,而不用像数组一样需要移动其他元素。 其次,LinkedList支持获取链表的头部和尾部元素的方法。即getFirst()和getLast()。同样,其他List实现中也没有这种方法,这也是LinkedList适合做队列和栈这种数据类型的原因之一。 除了这些独有的方法之外,LinkedList还具有一些其他List实现也有的方法。例如remove(int index)和size()方法就是常规List接口所具有的。LinkedList还实现了Queue和Deque接口,使得LinkedList也可以充当队列和双端队列。 需要注意的一点是,由于LinkedList是链表的形式,所以访问其中的元素时速度比较慢。因此,在需要随机访问元素的情况下,最好使用ArrayList。但是,当需要频繁在开头和结尾添加或删除元素时,LinkedList则具有明显的优势。 总之,LinkedListList集合中的一种实现,它具有一些独特的方法,如addFirst,getFirst等方法。同时,它也可以作为队列、栈、双端队列等数据结构的实现。但是在需要随机访问元素的情况下,建议使用其他List实现,如ArrayList。 ### 回答3: Java集合类是Java编程中常用的工具之一,List是其中一种很重要的集合类。LinkedListList的一种实现方式,LinkedList在插入和删除数据方面比较快。本文将会介绍LinkedList的特有方法使用LinkedList继承了AbstractSequentialList,也实现了List、Deque、Cloneable、Serializable接口。由于LinkedList的底层实现是双向链表,因此它具有插入和删除元素效率高的特点。 下面是LinkedList特有的方法: 1. public void addFirst(E e),将指定元素添加到此列表的开头: LinkedList<String> linkedList = new LinkedList<>(); linkedList.add("Java"); linkedList.add("Python"); linkedList.addFirst("C++"); System.out.println(linkedList); // [C++, Java, Python] 2. public void addLast(E e),将指定元素添加到此列表的结尾: LinkedList<String> linkedList = new LinkedList<>(); linkedList.add("Java"); linkedList.add("Python"); linkedList.addLast("C++"); System.out.println(linkedList); // [Java, Python, C++] 3. public E removeFirst(),删除并返回此列表的第一个元素: LinkedList<String> linkedList = new LinkedList<>(); linkedList.add("Java"); linkedList.add("Python"); linkedList.add("C++"); String first = linkedList.removeFirst(); System.out.println(first); // Java System.out.println(linkedList); // [Python, C++] 4. public E removeLast(),删除并返回此列表的最后一个元素: LinkedList<String> linkedList = new LinkedList<>(); linkedList.add("Java"); linkedList.add("Python"); linkedList.add("C++"); String last = linkedList.removeLast(); System.out.println(last); // C++ System.out.println(linkedList); // [Java, Python] 5. public E getFirst(),返回此列表的第一个元素: LinkedList<String> linkedList = new LinkedList<>(); linkedList.add("Java"); linkedList.add("Python"); linkedList.add("C++"); String first = linkedList.getFirst(); System.out.println(first); // Java 6. public E getLast(),返回此列表的最后一个元素: LinkedList<String> linkedList = new LinkedList<>(); linkedList.add("Java"); linkedList.add("Python"); linkedList.add("C++"); String last = linkedList.getLast(); System.out.println(last); // C++ 7. public E peekFirst(),获取但不移除此列表的第一个元素: LinkedList<String> linkedList = new LinkedList<>(); linkedList.add("Java"); linkedList.add("Python"); linkedList.add("C++"); String first = linkedList.peekFirst(); System.out.println(first); // Java System.out.println(linkedList); // [Java, Python, C++] 8. public E peekLast(),获取但不移除此列表的最后一个元素: LinkedList<String> linkedList = new LinkedList<>(); linkedList.add("Java"); linkedList.add("Python"); linkedList.add("C++"); String last = linkedList.peekLast(); System.out.println(last); // C++ System.out.println(linkedList); // [Java, Python, C++] 9. public boolean offerFirst(E e),将指定元素插入此列表的开头: LinkedList<String> linkedList = new LinkedList<>(); linkedList.add("Java"); linkedList.add("Python"); boolean result = linkedList.offerFirst("C++"); System.out.println(result); // true System.out.println(linkedList); // [C++, Java, Python] 10. public boolean offerLast(E e),将指定元素插入此列表的结尾: LinkedList<String> linkedList = new LinkedList<>(); linkedList.add("Java"); linkedList.add("Python"); boolean result = linkedList.offerLast("C++"); System.out.println(result); // true System.out.println(linkedList); // [Java, Python, C++] LinkedList是一个非常实用的Java集合类,我们可以根据自己的需求选择使用其中的特有方法。在实际开发中,结合List可以方便地实现队列和栈的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值