Java实现链表

这篇具有很好参考价值的文章主要介绍了Java实现链表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言 :Java中是没有指针的,但是有引用(和指针类似),所以可以创建出链表

体会:对于初学Java的我来说,这门语言要写很多类 ,我刚开始也不会写链表,查了很多资料他们一个类里面有好多方法(set ,get...)一个类那么长,对于只是想写一个简单链表的我加重了很大负担,所以接下来的文章我会很简单的写出来。

第一步 :创建一个节点

public class node {
	int data ;     //其实和C语言一样都是数据域和next域
	node next ; 
	
	public node() {       //无参构造方法
		
	}
	
	public node(int data) {    //有参构造方法
		this. Data = data ;
	}
} //节点类写完了

    上边一个是无参构造方法 ,一个是有参构造方法,主要就是为了初始化变量;
    而且构造方法主要是用在new()的时候(如果还不明白的话可以先看下面);

第二步 :将节点连接起来

补充(知道的话跳过就可以) :头插法 ;

下面代码中的 first 和 current 用来表示‘头节点’和‘当前所指节点’;

节点是一个一个连起来的,所以先有头节点然后才能连其他节点(处理方法不同);

import java.util.Scanner;

public class ListConnect {
	node first ;            
	node current ;
	
	public ListConnect() {
		                    //无参构造方法(个人建议一定要写上)
	}
	
	public void connect() {    //将节点连起来有两种方法 :头插法尾插法(这里用到的是头插法)
		int n = 0 ;
		Scanner sc = new Scanner(System.in);    //这三行就是为下边获取数据
		n = sc.nextInt();
		
		while(n != -1) {                 //从这行开始连接节点(输入-1时截至)
		node newnode = new node(n) ;    //new 的时候用到有参构造方法创建了一个值为n的节点
		
		if(first == null) {             //判断是否为头节点(头节点和其它节点的处理不相同)
			first = newnode ;
			current = newnode ;
		}
		else {                                         
			current. Next = newnode ;    //这里是点(相当于指针)
			current = newnode ;          //还看不懂的话可以把我的代码打一遍然后再去体会
		}
		n = sc.nextInt();
	}
		}
	public void display() {    //链表建完后遍历显示每个节点的值
		node flag ;
		flag = first;
		
		while(flag != null) {
		   System.out.print(flag. Data +" ");
		   flag = flag. Next ;
		}
	}
}

为什么要推荐写无参构造方法 :如果自己不定义有参构造方法系统会自动成无参构造方法,但是当自己定义有参构造方法后系统就不会生成无参构造方法,这时候new()就会报错。

第三步 :测试

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		ListConnect list = new ListConnect() ;    //创建一个链表
		list. connect() ; 
		list. display();
	}
}

测试类就是创建一个对象然后进行功能测试

如果没有学会的话可以看下面的视频 :虽然用了变声器但是讲的课很好非常推荐学习

如果有什么没明白可以再评论区留言。文章来源地址https://www.toymoban.com/news/detail-599379.html

到了这里,关于Java实现链表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 环形链表_相交链表_多数元素(java语言)

    力扣141题 问题: 思路:创建hashset,把链表的每个节点放到集合中,在放入的过程中检查这个节点是否已经存在,存在则证明存在环。 代码实现: 力扣160题 问题: 思路:先把其中一个链表的结点都放到一个hashset中,然后检索hashset,看是否包含这个节点,如果包含,则证明

    2023年04月15日
    浏览(29)
  • 【数据结构】链表C语言编写的,它定义了一个链表,并实现了一些基本的链表操作,如创建新节点、插入节点、清空链表、输出链表以及查找节点

    这段代码是用C语言编写的,它定义了一个链表,并实现了一些基本的链表操作,如创建新节点、插入节点、清空链表、输出链表以及查找节点。以下是每段代码的详细解释: 文件注释: 这段代码是一个文件注释 包含头文件: #include stdio.h  和  #include stdlib.h :这两个头文件

    2024年02月09日
    浏览(35)
  • Java实现链表

    体会:对于初学Java的我来说,这门语言要写很多类 ,我刚开始也不会写链表,查了很多资料他们一个类里面有好多方法(set ,get...)一个类那么长,对于只是想写一个简单链表的我加重了很大负担,所以接下来的文章我会很简单的写出来。     上边一个是无参构造方法 ,一个

    2024年02月16日
    浏览(21)
  • Java 实现反转一个链表

    翻转指的是改变链表中结点的指向,而不是将它的数据反转。 上图展示出的就是一个反转前的链表,下图展示一个反转后的链表。 根据上图可以看出,结点的地址和数据都没有改变,改变的只是链表结点的指向,更改后的头结点变成了尾结点。 首先要定义一个 cur 变量,让

    2024年02月11日
    浏览(36)
  • Java中链表的实现(超详细)

            在Java中,链表可以通过 创建节点 和 链接节点 来实现。以下是一个简单的 链表实现 示例: 输出:         在这个示例中,我们创建了一个  LinkedList 类 ,它 包含一个 Node 类 和 一些方法 来操作链表。我们可以使用  push() 方法在链表的头部插入节点 ,使

    2024年02月14日
    浏览(31)
  • 数据结构——链表的实现(Java版)

    目录 一、链表 二、代码实现 1.创建结点 2.构造函数 3.链表的相关属性 4.添加虚拟节点 5.判断链表是否为空 6.添加方法 (1)在头部添加 (2)在尾部添加 (3)在索引位置添加 (4)对头插法和尾插法代码进行简化(调用任意位置添加的方法) 7.打印链表(遍历,重写toString方

    2024年01月23日
    浏览(39)
  • Java 数据结构篇-用链表、数组实现栈

    🔥博客主页: 【 小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍    文章目录         1.0 栈的说明         2.0 用链表来实现栈         2.1 实现栈 - 入栈方法(push)         2.2 实现栈 - 出栈(pop)         2.3 实现栈 - 查看栈顶元素(peek)         2.4 实

    2024年02月05日
    浏览(47)
  • 数据结构(Java实现)LinkedList与链表(下)

    ** ** 结论 让一个指针从链表起始位置开始遍历链表,同时让一个指针从判环时相遇点的位置开始绕环运行,两个指针都是每次均走一步,最终肯定会在入口点的位置相遇。 LinkedList的模拟实现 单个节点的实现 尾插 运行结果如下: 也可以暴力使用 全部代码 MyLinkedList IndexOut

    2024年02月11日
    浏览(35)
  • 数据结构(Java实现)LinkedList与链表(上)

    链表 逻辑结构 无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。 无头双向链表:在Java的集合框架库中LinkedList底层实现就是无头双向循环链表。 链表的实现 创建一个链表 遍历单链表 、 得到

    2024年02月11日
    浏览(41)
  • Java 数据结构篇-用链表、数组实现队列(数组实现:循环队列)

    🔥博客主页: 【 小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍   文章目录         1.0 队列的说明         1.1 队列的几种常用操作         2.0 使用链表实现队列说明         2.1 链表实现队列         2.2 链表实现队列 - 入栈操作         2.3 链表实现队

    2024年02月05日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包