首页 > 其他分享 >List集合的具体子类:LinkedList

List集合的具体子类:LinkedList

时间:2024-10-16 11:13:31浏览次数:1  
标签:LinkedList list1 子类 元素 List 集合 public append

一、LinkedList集合的特点:

底层的数据结构是双链表,增删快,查询慢,线程不安全,效率高

二、特殊功能:

public void addFirst(E e)及addLast(E e)

addFirst是在集合的第一个位置进行添加,addLast是在集合的最后一个位置进行添加

public E getFirst()及getLast()

getFirst是获取集合的第一个元素,getLast是获取集合的最后一个元素

public E removeFirst()及public E removeLast()

removeFirst是删除第一个元素并显示出来,removeList是删除集合的最后一个元素并将其显示出来

public class LinkedListDemo1 {
    public static void main(String[] args) {
        LinkedList list1 = new LinkedList();
        list1.add("hello");
        list1.add("world");
        list1.add("java");
        list1.add("hello");
        list1.add("world");
        list1.add("hadoop");

        System.out.println("list1: "+list1);
        System.out.println("=====================");
        //public void addFirst(E e)及addLast(E e)
        list1.addFirst("hive");//在第一个位置添加元素
        list1.addLast("java");//在最后一个位置添加元素
        //public E getFirst()及getLast()
        System.out.println(list1.getFirst());//获取第一个位置的元素
        System.out.println(list1.getLast());//获取最后一个位置的元素
        //public E removeFirst()及public E removeLast()
        System.out.println(list1.removeFirst());//删除第一个位置的元素,并显示出来
        System.out.println(list1.removeLast());//删除最后一个位置的元素,并显示出来
    }
}

三、LinkedList集合的练习题

请用LinkedList模拟栈数据结构的集合,并测试
本质意思是指自己创建一个类,底层是用LinkedList集合

1.先编写一个Mask类

里面需要使用LinkedList集合模拟栈先进后出的特点,编写添加元素方法和获取元素方法还有获取集合长度的方法

import java.util.LinkedList;

public class Mask {
    private LinkedList linkedList;

    public Mask() {
           linkedList  = new LinkedList();
    }

    public void append(Object obj){
        linkedList.addFirst(obj); //向集合添加元素,使用了addFirst方法,一直向集合的第一个位置添加元素,模拟压栈
    }

    public Object get(){
        return linkedList.removeFirst();//这个方法虽然是移除集合第一个元素但也返回了那个元素,模拟弹栈
    }

    public int ChangDu(){
        return linkedList.size();
    } //获取集合长度并返回
    @Override
    public String toString() {
        return "Mask{" +
                "linkedList=" + linkedList +
                '}';
    }
}

2.再编写一个测试类,去创建该类对象,调用里面的方法

public class LinkedListTest1 {
    public static void main(String[] args) {
        Mask mask = new Mask();//编写一个Mask类并创建对象
        mask.append("A");//调用Mask中的append方法来实现往里面添加数据
        mask.append("B");
        mask.append("C");
        mask.append("D");
        mask.append("E");
        mask.append("F");
        int length=mask.ChangDu();//调用ChangDu方法来实现获取其中的长度
        for(int i=0;i<length;i++){
            System.out.println(mask.get()); //最后调用get方法获取里面的数据
        }

    }
}

标签:LinkedList,list1,子类,元素,List,集合,public,append
From: https://www.cnblogs.com/ndmtzwdx/p/18469434

相关文章

  • Java中List的Stream常使用几种方法
    //测试数据List<Student>list=newArrayList<>();list.add(newStudent("张三","男",18));list.add(newStudent("李四","男",17));list.add(newStudent("红红","女&qu......
  • C++ STL迭代器、resize和reserve区别、map和unordered_map区别,vector和List区别、map
    1.STL迭代器删除元素迭代器失效是指在对容器进行修改时,原有的迭代器可能变得不可用。正确删除元素的方法是使用erase,并返回新的有效迭代器。示例代码#include<iostream>#include<vector>intmain(){  std::vector<int>vec={1,2,3,4,5};  //输出......
  • 苍穹外卖——报错:Parameter 'xxx' not found. Available parameters are [arg0, colle
    背景:在执行过程中,报错:Servlet.service()forservlet[dispatcherServlet]incontextwithpath[]threwexception[Requestprocessingfailed;nestedexceptionisorg.mybatis.spring.MyBatisSystemException:nestedexceptionisorg.apache.ibatis.binding.Binding......
  • List集合练习题1
    需求:遍历集合,当遇到mango的时候,向集合中添加一个元素"java"publicclassListDemo2{publicstaticvoidmain(String[]args){Listlist1=newArrayList();list1.add("hello");list1.add("apple");list1.add("......
  • List集合
    一、List是一个接口,其集合的特点是:元素可以发生重复,有序(指的是存入和输出的顺序一致)二、List集合中特有的成员方法:1.voidadd(intindex,Eelement)向List集合中的指定位置添加元素2.Eremove(intindex)在集合指定位置删除元素3.Eget(intindex)在集合的指定位置获取该元素4.Eset......
  • 【Java集合框架之ArrayList】
    一、ArrayList简介ArrayList类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList继承了AbstractList,并实现了List接口。ArrayList类位于java.util包中,使用前需要引入它,语法格式如下:importjava.util.Arr......
  • Python TypeError: list和list之间不支持减法操作
    在本文中,我们将介绍Python中的TypeError错误,特别是在进行列表相减时出现的TypeError:unsupportedoperandtype(s)for-:‘list’and‘list’错误。我们将深入探讨这个错误的原因,并提供一些解决这个错误的方法。 了解TypeError错误TypeError是Python中常见的错误类型之一......
  • 【STL】模拟实现list
    目录list需要实现的接口结点类的创建迭代器类的实现构造函数++运算符的重载--运算符的重载!=运算符重载和==运算符重载operator*operator->list的模拟实现构造函数拷贝构造函数 赋值运算符重载函数析构函数迭代器相关函数begin和endfront和backpush_front......
  • 最详细!如何实现数组和List之间的转换?(含详细代码解析,面试题拓展)
            数组和List都是我们平时工作,或者主动学习中经常使用的数据结构,在项目中难免会出现需要将其相互转换的场景,同时也正因为此,面试也偶尔会被问到。本文将从其调用的方法,以及其原理、特点展开,希望能让各位读者有所收获,码海无涯,愿与大家共勉。1,数组转换为List1,使用......
  • ReorderableList
    目录简介常用委托事件代码示例简介列表重写的数据类,一般使用在Editor下常用委托事件委托名作用drawElementCallback用于绘制list里的每个elementdrawHeaderCallback用于绘制headerelementHeightCallback用于设置每个element的高度onAddCallbackelemen......