`
chaoyi
  • 浏览: 311050 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

LinkedList类

 
阅读更多

本章目标
掌握LinkedList与List接口的关系
掌握Queue接口的作用

 

LinkedList子类与Queue接口
LinkedList表示的是一个链表的操作类,此类定义如下:
——public class LinkedList<E> extends AbstractSequentialList<E>implements List<E>, Queue<E>, Cloneable, Serializable
Queue接口是Collection的子接口,此接口定义如下:
——public interface Queue<E> extends Collection<E>

 

Queue接口定义的方法

 

LinkedList中操作链表的部分方法

 

实例操作一:在链表的开头和结尾增加数据

import java.util.LinkedList;
public class LinkedListDemo01 {
	public static void main(String[] args) {
		LinkedList<String> link = new LinkedList<String>();
		link.add("A");//向链表中增加数据
		link.add("B");//向链表中增加数据
		link.add("C");//向链表中增加数据
		System.out.println("初始化链表:"+link);//输出链表内容,调用 toString()
		link.addFirst("X");//在链表的表头增加内容
		link.addLast("Y");//在链表的表头增加内容
		System.out.println("增加头和尾之后的链表:"+link);//输出链表内容,调用 toString():
	}
/* 结果:
 * 初始化链表:[A, B, C]
 * 增加头和尾之后的链表:[X, A, B, C, Y]
 * */
}

 

实例操作二:找到链表头

import java.util.LinkedList;
public class LinkedListDemo02 {
	public static void main(String[] args) {
		LinkedList<String> link = new LinkedList<String>();
		link.add("A");//向链表中增加数据
		link.add("B");//向链表中增加数据
		link.add("C");//向链表中增加数据
		System.out.println("1-1、element() 方法找到表头:"+link.element());
		System.out.println("1-2、找完之后的链表内容:"+link);
		System.out.println("2-1、peek() 方法找到表头:"+link.peek());
		System.out.println("2-2、找完之后的链表内容:"+link);
		System.out.println("3-1、poll()方法找到表头"+link.poll());
		System.out.println("3-2、找完之后的链表内容:"+link);
	}
/* 结果:
 * 1-1、element() 方法找到表头:A
 * 1-2、找完之后的链表内容:[A, B, C]
 * 2-1、peek() 方法找到表头:A
 * 2-2、找完之后的链表内容:[A, B, C]
 * 3-1、poll()方法找到表头A
 * 3-2、找完之后的链表内容:[B, C]
 * */
}

 

实例操作三:以先进先出的方式取出全部的数据

import java.util.LinkedList;
public class LinkedListDemo03 {
	public static void main(String[] args) {
		LinkedList<String> link = new LinkedList<String>();
		link.add("A");//向链表中增加数据
		link.add("B");//向链表中增加数据
		link.add("C");//向链表中增加数据
		System.out.print("以 FIFO 的方式输出:");//信息输出
		for(int i=0; i<link.size()+2; i++){//循环输出
			System.out.print(link.poll()+"、");//取得表头
		}
	}
/* 结果:
 * 以 FIFO 的方式输出:A、B、C、
 * */
}

 

 

  • 大小: 26.6 KB
  • 大小: 79.5 KB
  • 大小: 28.5 KB
分享到:
评论

相关推荐

    Java 中Linkedlist类的源代码

    LinkedList类位于java.util包中,它还实现了Deque(双端队列)接口,提供了额外的功能。 LinkedList的源代码包含了许多重要的方法和内部类。首先,我们来看它的主要属性: 1. **header**: 这是一个内部静态节点类...

    JavaScript 实现基础 LinkedList 功能

    接下来,我们创建LinkedList类,它包含一些基本操作,如添加元素、删除元素、查找元素等。LinkedList类需要维护一个头节点(head),表示链表的起始位置: ```javascript class LinkedList { constructor() { ...

    链表类LinkedList的完全c++实现

    链表类LinkedList的完全c++实现,根据数据结构与算法课堂总结。

    LinkedLIst.cpp

    LinkedLIst.cpp

    java LinkedList类详解及实例代码

    Java中的LinkedList类是Java集合框架的一部分,属于List接口的实现,它提供了线性数据结构的能力,同时保持了链表的特点。LinkedList不同于ArrayList,后者在内存中是连续存储的,而LinkedList则是通过节点对象链接...

    javalinkedlist:编写一个程序,演示您了解如何使用Java LinkedList类

    Java LinkedList类是Java集合框架的一部分,它位于`java.util`包中,主要用于创建和操作链表数据结构。链表是一种动态数据结构,其中元素不是在内存中连续存储的,而是通过节点之间的引用链接起来。LinkedList类实现...

    使用LinkedList模拟堆栈

    本文将详细讲解如何使用Java中的LinkedList类来模拟这两种数据结构,并实现其基本操作。 堆栈(Stack)是一种后进先出(LIFO, Last In First Out)的数据结构,它遵循“先进后出”的原则。常见的堆栈操作有压栈...

    创建一个 LinkedList项目.docx

    LinkedList 的节点(Node)是 LinkedList 类的私有静态内部类,定义如下: ```java private static class Node&lt;E&gt; { E item; LinkedList.Node&lt;E&gt; next; LinkedList.Node&lt;E&gt; prev; Node(LinkedList.Node&lt;E&gt; ...

    javascript集合类 LinkedList代码实现

    接着创建LinkedList类,包含添加、删除、查找和遍历等方法。以下是一个简单的LinkedList实现: ```javascript // 定义Node类 class Node { constructor(data, next = null) { this.data = data; this.next = ...

    LinkedList的实现.zip

    最后,`LinkedList`文件可能是实现了链表类的主体,该类封装了链表操作并提供了一种面向对象的方式来使用链表。这个类可能包含了构造函数、析构函数,以及在`List.h`中声明的方法的实现。例如,链表类的构造函数可能...

    链表+泛型+反射实现自定义的LinkedList集合类

    2. **LinkedList类**:实现了链表的基本操作,如`add()`, `remove()`, `get()`, `size()`等,这些方法可能都进行了泛型处理以适应不同的数据类型。 3. **泛型方法**:使用泛型声明的方法,确保插入和取出的元素与...

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

    LinkedList类中有三个重要的成员变量:size、first和last。size是用transient修饰的,意味着它不会被序列化,它记录了列表中元素的数量。first和last分别指向链表的头节点和尾节点。这种设计使得LinkedList在头尾...

    LinkedList实现栈

    首先,LinkedList类位于Java的`java.util`包中,它实现了List接口,允许我们存储和操作一系列元素。LinkedList内部维护了一个双向链表,每个元素都是一个Node对象,包含元素值以及指向前后节点的引用。由于...

    Kotlin中Stack与LinkedList的实现方法示例

    Stack类通过MutableList作为基础,实现了基本的栈操作,而LinkedList类通过定义Node类和维护头结点,实现了链式存储的动态数据结构。这些实现为开发者提供了灵活的工具,可以有效地处理和组织数据,适用于各种实际...

    Java LinkedList集合功能实例解析

    Java LinkedList集合功能实例解析 Java LinkedList集合是Java集合框架中的一种重要实现,基于链表数据结构,提供了...* Java SDK Documentation: LinkedList类 * Java集合框架官方文档 * 《Java精华卷》-集合框架篇

    LinkedList.pdf

    LinkedList类在Java中实现了List接口,提供了链表的实现,根据文件内容,我们可以总结出以下几个关键知识点: 1. LinkedList内部通过维护两个指针first和last来分别指向链表的第一个节点和最后一个节点。当链表为...

    一个简单的链表(LinkedList)数据结构

    一个简单的链表(LinkedList)数据结构。链表是一种常见的数据结构...LinkedList 类表示整个链表,包含链表的头节点(head)和一些基本操作,如向链表末尾添加新节点(append)和打印链表中的所有元素(print_list)。

    Map+List+ArrayList+LinkedList Java源码

    **LinkedList类** `LinkedList`是基于双向链表实现的List,每个节点包含元素和指向前后节点的引用。因此,插入和删除操作在任意位置都相对高效,但随机访问性能较差,因为需要从头开始遍历链表。 **源码分析** 深入...

    LinkedList代码.rar

    LinkedList类位于java.util包下,它是List接口的一个实现,同时也实现了Deque(双端队列)接口,因此,LinkedList不仅可以作为列表使用,还可以作为栈或者队列。 LinkedList与ArrayList的主要区别在于其底层数据...

Global site tag (gtag.js) - Google Analytics