Java中的LinkedList

介绍:

LinkedList是由节点组成的线性数据结构。 在单链列表中,每个节点包含数据和引用。 在此,参考部分引用链表中的下一个节点。

另一方面,在双链表中,我们具有指向上一个和下一个节点的数据和引用。 Java提供了LinkedList实现– java.util.LinkedList <T>,该实现与双向链表一起使用。 此类从AbstractList类继承,并实现List <T>Deque <T>接口。 在本快速教程中,我们将学习如何使用Java中的LinkedList类。

构造一个

我们可以通过以下方式之一实例化Java中的链表:

Java

LinkedList<Integer> intList = new LinkedList<>();LinkedList<Integer> intList1 = new LinkedList<>(intList);

即此类提供了两个构造函数:

  • LinkedList():创建一个空的链表
  • LinkedList(Collection c):创建一个链表,并以c的内容为其元素对其进行初始化

添加元素:

要将元素添加到LinkedList ,我们可以使用List <T>接口中add()方法的风格。 我们还可以使用addFirst()addLast()将元素分别添加到开头或结尾。

Java

intList.add(1);  // [1]
intList.addFirst(2); // [2, 1]
intList.addLast(3); // [2, 1, 3]

删除元素:

同样,要删除项目,我们可以从List接口使用remove(index),remove(obj)方法。 否则,我们也可以选择removeFirst()removeLast()方法:

Java

int firstElement = intList.removeFirst();
int lastElement = intList.removeLast();

这些方法既删除又返回删除的值。

Java LinkedList类还提供removeFirstOccurrence(Object obj)removeLastOccurrence(Object obj)方法,以分别删除给定值的第一次出现和最后一次出现。 如果列表中不存在此类值,则这些方法将返回false

boolean removed = intList.removeFirstOccurrence(1);

查询元素:

LinkedList类中有getFirst()getLast()方法,用于查询链接列表的第一个或最后一个元素:

Java

int firstElement = intList.getFirst();
int lastElement = intList.getLast();

由于这是一个双向链接的列表实现,因此getFirst()getLast()都是恒定时间操作。

如果我们知道要检索的元素的索引,则还可以使用List接口的get(int index)方法:

Java

int elementAtIndex1 = intList.get(1);

遍历

就像其他任何形式的列表一样,我们将遍历链接列表:

Java

//Using a for loop
for(int num : intList) {System.out.println(num);   
}//Using iterator
ListIterator itr = intList.listIterator();
while(itr.hasNext()) {System.out.println(itr.next());
}//Using forEach construct
intList.forEach( value -> System.out.println(value); );

让我们概述一下Java LinkedListArrayList类之间的区别:

链表 数组列表
使用双向链接列表表示 使用动态数组的概念
实现两个列表

和德克

介面

只实施清单

接口

不适合随机访问 非常适合随机访问。 如果我们知道索引,则只需要O(1)时间即可检索
在Java链表的开头和结尾处进行O(1)插入/删除 将元素插入ArrayList可能会导致调整后备数组的大小,因此摊销成本为O(n)。
同样,在ArrayList的开头插入将需要我们将所有元素向右移动一个位置。
存储对上一个和下一个节点的引用的内存开销 无需存储其他信息

随意在本文中了解有关ArrayList的更多信息。 Java LinkedList中还提供了从List <T>接口继承的ArrayList类中的所有方法。

结论:

在本快速教程中,我们探讨了Java LinkedList类的一些最受欢迎的方法。 我们还介绍了Java ArrayListLinkedList之间的区别。

成为第一个发表评论的人。

翻译自: https://www.javacodegeeks.com/2019/03/linkedlist-java.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/342653.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【渝粤教育】国家开放大学2018年秋季 2045T金融企业会计 参考试题

试卷代号&#xff1a;2083 信息技术与教育技术(2) 试题&#xff08;开卷&#xff09; 2019年1月 一、单选题&#xff08;每小题4分&#xff0c;共6小题&#xff0c;24分&#xff09; 1&#xff0e;以下关于系统科学的原理描述不正确的一项是( )。 A.反馈原理&#xff0c;是指…

云智能遥控开关设备再物联网领域的应用:智能养殖高效、生态、安全!

随着我国水土流失日益严重&#xff0c;土地资源严重紧缺&#xff0c;水产养殖池塘已经成为一种趋势&#xff0c;但由于现代气候突变现象日益发生&#xff0c;效益下降等问题突出&#xff0c;如何提高养殖产品品质&#xff0c;直接增加了渔民的经济收入&#xff0c;实现高效、生…

【渝粤教育】国家开放大学2018年秋季 2130T药物治疗学 参考试题

试卷代号&#xff1a;2180 办公室管理 试题 2019年1月 一、单项选择题&#xff08;请将正确答案的字母序号填在括号内&#xff0c;每小题2分&#xff0c;共10分&#xff09; 1&#xff0e;办公室工作的本质属性是( ) A&#xff0e;事务性 B&#xff0e;综合性 C&#xff0e;服…

串口光猫设备结构及主要特点介绍

串口光猫是RS-232/422/485串口数据通过光纤媒质传输数据的通信产品&#xff0c;它采用金属外壳&#xff0c;支持工业导轨式安装、壁挂式安装等多种安装方式&#xff0c;同时提供RS-232/422/485接口。那么&#xff0c;串口光猫的设备结构及主要特点有哪些呢&#xff1f;接下来我…

【渝粤教育】国家开放大学2018年秋季 2302T供应链管理 参考试题

试卷代号&#xff1a;2332 高等数学基础 试题 2019年1月一、单项选择题&#xff08;每小题4分&#xff0c;共20分&#xff09; 1&#xff0e;设函数&#xff0c;f(x)的定义域为&#xff08;-∞&#xff0c;∞&#xff09;&#xff0c;则函数f(x)- f(-x)的图形关于( )对 称&…

【教程】E103-W10无线串口服务器TCP协议与PC连接收发数据详解!

一、前期准备 打开串口工具&#xff0c;以XCOM V2.6为例&#xff0c;验证AT指令。 如果未识别串口&#xff0c;请按下面的步骤安装相应的驱动。 1.检查并安装串口驱动程序 PC打开“控制面板” &#xff0c;进入“硬件和声音”&#xff0c;选择“设备管理器”。 2.进入“设…

【渝粤教育】国家开放大学2018年秋季 2503T学前儿童健康教育 参考试题

试卷代号&#xff1a;2517 社区工作 试题 2019年1月 一、单选题&#xff08;下列选项中只有一个是正确的&#xff0c;将正确的答案序号填写在括号内。共10题&#xff0c;每题2分&#xff0c;共计20分&#xff09; 1&#xff0e;社区作为居民生活的共同体&#xff0c;在其四大要…

遥控开关在云智能物联网领域:智能养殖高效、生态、安全!

随着我国水土流失日益严重&#xff0c;土地资源严重紧缺&#xff0c;水产养殖池塘已经成为一种趋势&#xff0c;但由于现代气候突变现象日益发生&#xff0c;效益下降等问题突出&#xff0c;如何提高养殖产品品质&#xff0c;直接增加了渔民的经济收入&#xff0c;实现高效、生…

串口光猫应用领域及技术参数详解

串口光猫是RS-232/422/485串口数据通过光纤媒质传输数据的通信产品&#xff0c;它采用金属外壳&#xff0c;支持工业导轨式安装、壁挂式安装等多种安装方式&#xff0c;同时提供RS-232/422/485接口。那么&#xff0c;串口光猫应用领域及技术参数有哪些呢&#xff1f;接下来我们…

【渝粤教育】国家开放大学2018年秋季 2777T绿地规划 参考试题

试卷代号&#xff1a;2792 农产品质量管理试题 2019年1月 一、单项选择题&#xff08;每小题3分&#xff0c;共30分&#xff09; 1&#xff0e;食品安全可解释为( )。 A.确保食品不会对消费者构成任何危害 B&#xff0e;按照预期的食用方法&#xff0c;确保食品不会对消费者构…

java与java ee_使用Java EE的ManagedExecutorService异步执行事务

java与java ee自Java EE 7规范发布以来已经过去了一年。 现在&#xff0c;Wildfly 8 Final已发布&#xff0c;现在是时候仔细看看这些新功能了。 自Java EE诞生以来&#xff0c;缺少的一件事就是能够使用成熟的Java EE线程。 Java EE 6已经为我们带来了Asynchronous批注&#…

【案例】无线串口模块 星型网络组网 案例

星型网络技术 01 什么是星型网络 星型网络是有两种网络设备构成&#xff1a;中心节点和终端节点。中心节点是整个星型网络的枢纽&#xff0c;所有终端节点通过无线或者有线的形式连接到中心节点&#xff0c;与中心节点进行信息交互。终端节点之间不能直接进行信息交互&#xf…

【渝粤教育】国家开放大学2018年秋季 3939T★汽车电控技术 参考试题

试卷代号&#xff1a;4972 农业项目投资 试题&#xff08;开卷&#xff09; 2019年1月 一、单项选择题&#xff08;在各题的备选答案中&#xff0c;只有1项是正确的&#xff0c;请将正确答案的序号&#xff0c;填写在题中的括号内。每小题1分&#xff0c;共10分&#xff09; 1…

【详解】单片机、ARM、DSP、模块、CPU 之间的区别对比

单片机 01 什么是单片机 1.png 单片机已广泛称作微控制器&#xff08;MCU&#xff09;&#xff0c;单片机是一块类似PC的芯片&#xff0c;它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上&#xff1b;只是没PC强大&#xff0c;但它可以嵌入到其它设备…

工业级光纤收发器的芯片介绍

工业级光纤收发器的芯片是整个设备的核心&#xff0c;它和一些硬件设备决定了工业级光纤收发器的性能、寿命等是否满足要求。那么&#xff0c;对于光电介质转换芯片的性能具体有哪些呢&#xff1f;下面飞畅科技就给大家详细讲解一下&#xff0c;希望大家对工业级光纤收发器有更…

成都亿佰特物联网无线数传专家:lora无线传输模块网关技术的优缺点

Lora无线传输模块的优势&#xff1a; LoRa网络具备传输数据远距离&#xff0c;工作功能损耗低&#xff0c;无线组网网络节点多&#xff0c;抗干扰能力强&#xff0c;降低成本等特点。 传输数据远距离&#xff1a;高灵敏度-148dBm&#xff0c;网络通讯间隔可以达到几公里 工作…

【渝粤教育】国家开放大学2018年秋季 8063-21T (1)人体解剖生理学 参考试题

编号&#xff1a;8126 座位号 2018&#xff5e;2019学年度第一学期期末考试 制药工程试题 2018年11月 一、名词解释&#xff08;本大题共4小题&#xff0c;每题5分&#xff0c;共20分&#xff09;。 天然药物 生物技术药物 制粒 生物药物 二、单项选择题&#xff08;本大…

Java中的HashSet

介绍&#xff1a; Java中的HashSet实现Set接口&#xff0c;即它不允许重复。 它在内部由HashMap支持&#xff0c;该哈希表基于哈希原理。 我们可以在HashSet中存储一个空值。 默认容量为16&#xff0c;负载系数为0.75&#xff0c;其中&#xff1a; Load factor Number of St…

8口poe交换机产品介绍

八口POE交换机&#xff08;POE31008P&#xff09;提供了从一个网络节点利用5类以太网线的电源和数据的传输。81端口快速以太网端口能用于10/100Mps的连接&#xff0c;其中8个端口可以提供工业标准的IEEE802.3af电源。先进的自感知算法只为标准PD终端设备供电&#xff0c;因而不…

【渝粤教育】国家开放大学2019年春季 0024-22T建筑工程管理与实务 参考试题

科目编号&#xff1a;0603 座位号 2017-2018学年度第二学期期末考试 建筑工程管理与实务 试题 2018年 07 月 一、单选题&#xff08;本大题共15小题&#xff0c;每小题3分&#xff0c;共计45分&#xff09; &#xff08;★请考生务必将答案填入到下面对应序号的答题框中★&…