import java.util.LinkedList;
import java.util.Vector;
/**
* Java中的鏈表,SUN公司已經為我們做好了,我們只需要簡單的使用就可以了
* 當沒有要求的時候,就可以不用自己去實現。
* 如果確實有要求要自己實現,那么也自己實現也是一樣的道理,只需要像
* LinkedList中一樣,實現向個接口方法,同樣可以做到。
* 這里是一個簡單的例子,如果相參看自己實現的鏈接,可以去這里:
* http://blog.csdn.net/fenglibing/archive/2006/04/19/669456.aspx
* http://blog.csdn.net/fenglibing/archive/2006/04/19/669362.aspx
*/
public class LinkListTest
{
public static void main(String[] arg)
{
//初使化一個鏈表
LinkedList head = new LinkedList();
int size = 0;
head.add(new String("小狗"));
head.add(new String("美國"));
head.add(new String("Japanese!"));
head.add(2, "小鍺");
//鏈表會自動用遍歷的方式打印所有內容
System.out.println(head);
//利用Vector或者是ArrayList等Collection往鏈表中加數據
Vector v = new Vector();
//向Vector中加入東西
v.add("大狗");
v.add("老美");
v.add("JAPAN");
v.add("老鍺");
//將當前Vector加在當前鏈表的最后
head.addAll(v);
System.out.println(head);
//將當前Vector加在當前鏈表的指定位置
head.addAll(2, v);
System.out.println(head);
//打印指定位置的內容
System.out.println(head.get(2));
head.addFirst("第一個");
System.out.println(head);
head.addLast("最后一個");
System.out.println(head);
//刪除第一個
head.remove(head.getFirst());
System.out.println(head);
//再刪除第一個,采用下標的方式,下標從0開始
head.remove(0);
System.out.println(head);
head.remove(head.getLast());
System.out.println(head);
}
}
輸出結果如下:
[小狗, 美國, 小鍺, Japanese!]
[小狗, 美國, 小鍺, Japanese!, 大狗, 老美, JAPAN, 老鍺]
[小狗, 美國, 大狗, 老美, JAPAN, 老鍺, 小鍺, Japanese!, 大狗, 老美, JAPAN, 老鍺]
大狗
[第一個, 小狗, 美國, 大狗, 老美, JAPAN, 老鍺, 小鍺, Japanese!, 大狗, 老美, JAPAN, 老鍺]
[第一個, 小狗, 美國, 大狗, 老美, JAPAN, 老鍺, 小鍺, Japanese!, 大狗, 老美, JAPAN, 老鍺, 最后一個]
[小狗, 美國, 大狗, 老美, JAPAN, 老鍺, 小鍺, Japanese!, 大狗, 老美, JAPAN, 老鍺, 最后一個]
[美國, 大狗, 老美, JAPAN, 老鍺, 小鍺, Japanese!, 大狗, 老美, JAPAN, 老鍺, 最后一個]
[美國, 大狗, 老美, JAPAN, 老鍺, 小鍺, Japanese!, 大狗, 老美, JAPAN, 老鍺]
分享到:
相关推荐
链表是一种基础且重要的数据结构,它在计算机科学和编程,尤其...理解链表的工作原理以及如何在Java中实现和使用链表,是每个Java开发者必备的基础技能。通过深入学习和实践,我们可以利用链表来解决各种实际编程挑战。
本教程将深入讲解如何在Java中使用LinkedList实现这些操作,并通过实例代码进行详细解析。 首先,LinkedList是一个双链表,这意味着每个节点包含一个指向前一个节点和后一个节点的引用。这种结构使得在链表的开头...
用Java定义一个循环链表,实现链表的基本操作: 初始化*、获取头结点、添加新元素*、删除链表元素 、获取链表元素*、查找链表元素*、更新链表中某个元素、 判断链表是否为空、求链表元素个数、输出链表元素、清空...
- **LinkedList类**: Java集合框架中提供了`java.util.LinkedList`类,它是List接口的一个实现,内部使用双向链表数据结构。 - **单链表与双链表**: 单链表只包含指向下一个节点的引用,而双链表还包含一个指向前...
相信大家都明白 LinkedList 是基于双向链表而实现的,本篇文章主要讲解一下双向链表的实现,并且我们参考 LinkedList 自己实现一个单链表尝试一下。 什么是链表? 简单的来讲一下什么是链表:首先链表是一种线性的...
1. **内部结构**:`LinkedList`使用双向链表作为底层实现,每个元素(节点)包含数据以及指向前后节点的引用。这使得在列表的开头和末尾添加、删除元素非常高效。 2. **特有方法**: - `addFirst(E e)`:在链表的...
在Java中,链表主要有两种实现:LinkedList和ArrayList。ArrayList是基于动态数组实现的,而LinkedList是基于链表实现的。LinkedList类实现了List接口,提供了添加、删除、查找等操作。由于其内部结构,LinkedList在...
在Java中,链表主要通过实现接口`List`、`Deque`等来构建。 在给定的资源中,我们可以看到几个与链表相关的Java源代码文件: 1. `DoublyLinkedClass.java` - 这个文件很可能包含了一个双向链表的实现。双向链表...
在Java编程语言中,LinkedList是一种实现List接口的数据结构,它以链表的形式存储元素。本教程将深入探讨如何获取LinkedList中的第一个和最后一个元素,并提供相关的源代码实例。LinkedList类提供了丰富的API来操作...
在Java编程语言中,`LinkedList`是一种常用的线性数据结构,它通过节点(Node)对象存储数据,并且每个节点都包含指向前后节点的引用,从而形成一个双向循环链表。这个链表的特点在于,它的首节点和尾节点相互连接,...
### JAVA链表详解 #### 一、链表基础概念 链表是一种常用的基础数据结构,其特点是不按照线性顺序存储数据,而是通过每个节点存储指向下一个节点的地址来实现线性连接。根据节点间连接方式的不同,链表可以分为...
在编程领域,算法是解决问题的关键,而链表作为一种基础数据结构,在实现各种复杂算法时...在实际开发中,Java的`java.util.LinkedList`类提供了链表操作的便利接口,但自定义链表可以帮助更深入地理解数据结构和算法。
总结来说,用Java链表实现多项式相加和相乘,主要步骤包括: 1. 创建`Node`类,表示多项式项。 2. 创建`LinkedList`类,表示多项式链表,并实现链表的基本操作。 3. 实现`insertA`方法,将一个多项式插入到另一个...
下面将详细讨论`LinkedList`类以及如何在Java中使用它来实现上述操作。 首先,`LinkedList`的每个元素称为节点,每个节点包含数据元素和指向下一个节点的引用。这使得链表在内存中不是连续存储的,因此插入和删除...
本话题主要探讨两种常用的数据结构——单链表和双向链表在Java中的实现,以及相关的操作,如在头部添加节点、在尾部添加节点、遍历、逆置和删除。 首先,我们来理解单链表和双向链表的基本概念。单链表是一种线性...
在Java中,链表通常通过`LinkedList`类来实现,它属于集合框架的一部分。然而,为了构建一个计算器,我们可能需要自定义链表结构,以便更好地适应计算逻辑。 这个"Java用链表实现的计算器程序"很可能是设计为一个...
- Java的`java.util.LinkedList`类是实现了List接口的一个链表数据结构,提供了丰富的API供开发者使用,如add、remove、get等方法。 9. **链表与数组的比较** - 访问效率:数组的随机访问速度快,而链表需要从头...
链表是一种基础且重要的数据结构,它在计算机科学中扮演着关键角色,特别是在处理动态数据集合时。在Java中,`LinkedList`类是`java.util...通过分析和运行这些代码,你可以加深对Java链表实现的理解,并提升编程技能。
总之,循环链表在Java中的实现涉及节点类的设计和链表类的操作方法。理解并掌握循环链表的特性对于解决一些特定问题,如判断链表是否有环、高效地遍历数据等,是非常重要的。通过阅读和实践提供的`LinkedList.java`...
在Java中,除了手动实现链表外,还可以使用内置的`LinkedList`类,它是Java集合框架的一部分,提供了丰富的操作方法。然而,手动实现链表可以帮助我们更好地理解数据结构和算法,这对于软件开发人员来说是非常有价值...