`
cakin24
  • 浏览: 1396679 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

List接口的实现类LinkedList

    博客分类:
  • java
阅读更多

        LinkedList类是List接口的实现类,这意味着它是一个List集合,可以根据索引来随机访问集合中的元素。除此之外,LinkedList还实现了Deque接口,可以被当成双端队列使用,因此既可以被当成“栈”来使用,也可以当成队列使用。

1 代码示例

import java.util.*;

public class LinkedListTest
{
	public static void main(String[] args)
	{
		LinkedList books = new LinkedList();
		// 将字符串元素加入队列的尾部
		books.offer("爸爸");
		// 将一个字符串元素加入栈的顶部
		books.push("妈妈");
		// 将字符串元素添加到队列的头部(相当于栈的顶部)
		books.offerFirst("孩子");
		// 以List的方式(按索引访问的方式)来遍历集合元素
		for (int i = 0; i < books.size() ; i++ )
		{
			System.out.println("遍历中:" + books.get(i));
		}
		// 访问、并不删除栈顶的元素
		System.out.println(books.peekFirst());
		// 访问、并不删除队列的最后一个元素
		System.out.println(books.peekLast());
		// 将栈顶的元素弹出“栈”
		System.out.println(books.pop());
		// 下面输出将看到队列中第一个元素被删除
		System.out.println(books);
		// 访问、并删除队列的最后一个元素
		System.out.println(books.pollLast());
		// 下面输出:[妈妈 ]
		System.out.println(books);
	}
}

2 运行结果

遍历中:孩子

遍历中:妈妈

遍历中:爸爸

孩子

爸爸

孩子

[妈妈, 爸爸]

爸爸

[妈妈]

3 代码分析

offer函数相当于“队列进”。push函数相当于从“栈进”。offerFirst相当于从List的0号元素前加入或相当于从“栈进“。System.out.println("遍历中:" + books.get(i));遍历输出,表示从0号元素开始往后索引依次输出。peekFirst访问的索引0。peekLast访问的是最后一个索引,相当于索引7。pop函数相当于“栈出”。pollLast相当于从List的末尾元素出队列,即索引7。



 

  • 大小: 4.4 KB
1
0
分享到:
评论

相关推荐

    Java软件开发实战 Java基础与案例开发详解 11-4 List接口实现类 共15页.pdf

    根据给定文件的信息,我们可以提炼出关于Java软件开发中List接口实现类的关键知识点。这部分内容主要聚焦于第11章的“Java集合框架和泛型机制”,特别关注List接口及其几种实现类,包括`ArrayList`、`LinkedList`、`...

    Map+List+ArrayList+LinkedList Java源码

    常见的List实现类有ArrayList和LinkedList。 **ArrayList类** `ArrayList`是基于数组实现的List,它提供了一个动态增长的数组来存储元素。由于其底层是数组,所以它的随机访问(通过索引)速度非常快。但是,插入和...

    深入Java集合学习系列(三):ArrayList实现原理

    它允许包含重复的元素,也允许插入null值,这是区别于Java集合中的另一个List接口实现类LinkedList的重要特点。ArrayList内部通过一个数组来保存其所有元素,这个数组就是ArrayList的“elementData”字段。 ...

    java基础--list(ArrayList、LinkedList、匿名类).docx

    【Java基础——List接口详解(ArrayList、LinkedList、匿名类)】 在Java编程中,List接口是集合框架的重要组成部分,提供了有序存储元素的功能。ArrayList和LinkedList是List接口的两种主要实现,它们各有优缺点,...

    ArrayList LinkedList Vector区别

    ArrayList、LinkedList、Vector 是 Java 中常用的数据结构实现类,它们都实现了 List 接口,但它们在存储方式、性能、线程安全性等方面有着不同特点。 首先,ArrayList 和 Vector 都是采用数组方式存储数据的,这种...

    LinkedList实现List一些方法

    在本文中,我们将深入探讨LinkedList如何实现List接口的一些主要方法,并了解其内部工作原理。 1. **添加元素**: LinkedList提供了`add(int index, E element)`和`add(E e)`方法来添加元素。`add(int index, E ...

    Java中的Map&List;

    List接口的实现类有多种,包括ArrayList、Vector、LinkedList、Stack等。 ArrayList类 ArrayList类是List接口的实现类,使用动态数组来存储对象。ArrayList类提供了多种方法来添加、删除、遍历集合中的对象。例如...

    _Java-集合容器-2.List及其实现类.ppt

    List接口有多个实现类,包括ArrayList、LinkedList、Vector和Stack。 1. ArrayList实现类: ArrayList是List接口的一个常见实现,其内部基于动态数组实现。它提供了快速的随机访问,因为数组索引可以直接定位元素。...

    JSP应用开发-Java集合类-List接口.pptx

    LinkedList类是List接口的实现类之一,是数据结构中链表的java实现。相对于List来说,LinkedList最主要的功能方面的增强是可以在List的头部和尾部添加、删除、取得元素,直接提供了这些方法的实现。所以它可以非常...

    java.util.List接口的类及用法

    这篇博客将深入探讨`List`接口及其常用实现类,如`ArrayList`和`LinkedList`,并展示它们的用法。 首先,`List`接口定义了许多方法,允许我们对列表进行基本操作。这些方法包括: 1. `add(E element)`: 向列表末尾...

    List实现类1

    【List实现类1】主要探讨了Java集合框架中List接口的两种主要实现类:ArrayList和LinkedList,以及Collection和List接口的一些方法。以下是这些知识点的详细解释: 1. **ArrayList** - **成员变量**:ArrayList...

    子接口及其实现类PPT实用.pptx

    1. **List接口**:`List`是`Collection`的一个子接口,它代表有序的集合,元素可以重复,并且提供了精确的元素插入位置控制。这意味着用户可以通过索引来访问和修改元素。`List`接口的实现类有`ArrayList`和`...

    子接口及其实现类PPT资料.pptx

    1. **List接口**:`List`是有序的`Collection`,允许存在重复元素。它提供了根据元素位置进行插入、删除和访问的方法。常见的`List`实现类有: - **ArrayList**:基于动态数组实现,提供随机访问的高效性能,但插入...

    set.list.map接口

    其主要实现类有LinkedList和ArrayList。 - **LinkedList**:基于链表结构,适用于频繁的插入和删除操作,但随机访问效率较低。 - **ArrayList**:基于动态数组,随机访问快速,但在插入和删除元素时可能需要移动...

    源码解析jdk7.0集合:LinkedList的底层实现原理.pdf

    首先,LinkedList实现了List接口,因此它是一个有序列表。它还实现了Deque接口,这意味着LinkedList支持双端队列的操作。除了这些接口之外,LinkedList还是Cloneable和java.io.Serializable的,表示它可以被克隆以及...

    List接口和Map接口

    - **List接口的实现** - **ArrayList**:这是一个基于动态数组实现的列表,提供了随机访问元素的功能,非常适合于频繁的读取操作。当需要增加或删除非尾部元素时,由于需要移动其他元素,因此效率较低。 - **...

    创建一个 LinkedList项目.docx

    - LinkedList 实现了 List 接口,因此可以执行所有 List 相关的操作,如添加、删除、查找元素等。 - LinkedList 同时实现了 Deque 接口,允许作为双端队列使用,可以从前端或后端添加和移除元素。 使用 LinkedList ...

    比较ArrayList、LinkedList、Vector1

    List接口的实现类主要有ArrayList、LinkedList和Vector。 2. **ArrayList** - **实现原理**:ArrayList基于动态数组实现,它提供快速的按索引访问,因为数组支持直接通过索引获取元素。 - **添加和删除**:对于在...

    Java 中Linkedlist类的源代码

    在Java编程语言中,LinkedList是一个实现List接口的类,它以双向链表的形式存储元素。这个数据结构允许我们在列表的任何位置进行插入和删除操作,具有O(1)的时间复杂度,这使得LinkedList在需要频繁进行这些操作时比...

    List实现类中的ArrayList、Vector、LinkedList

    首先,List接口继承于Collection接口,其中的所有方法都被继承,而Collection是无序、无下标,元素不可重复的,List是有序,有下标,元素可以重复,所以,List就有一些自己独有的方法。和数组相比较更加灵活,方便。...

Global site tag (gtag.js) - Google Analytics