java中的链表是什么

互联网 19-5-21
链表是一种根据元素节点逻辑关系排列起来的一种数据结构。本篇文章将和大家讲述Java中的链表,感兴趣的朋友可以了解一下。

链表是一种根据元素节点逻辑关系排列起来的一种数据结构。利用链表可以保存多个数据,这一点类似于数组的概念。

但是数组本身有一个缺点—— 数组的长度固定,不可改变,在长度固定的情况下首选的肯定是数组,但是在现实的开发之中往往要保存的内容长度是不确定的,那么此时就可以利用链表这样的结构来代替数组的使用。

链表是一种最为简单的数据结构,它的主要目的是依靠引用关系来实现多个数据的保存,那么下面假设现在要保存的数据是字符串(引用类型),则可以按照图所示的关系进行保存。

Java实现链表代码:

//每一个链表实际上就是由多个节点组成的 public class Node { // 定义一个节点 	private String data; // 用于保存数据 	private Node next; // 用于保存下一个节点 	// 每一个Node类对象都必须保存有响应的数据   	public Node(String data) { 		this.data = data; 	}   	public void setNext(Node next) { 		this.next = next; 	}   	public Node getNext() { 		return this.next; 	}   	public String getData() { 		return this.data; 	}   	// 实现节点的添加 	// 第一次调用(Link):this代表Link.root 	// 第二次调用(Node):this代表Link.root.next 	// 第三次调用(Node):this代表Link.root.next.next 	public void addNode(Node newNode) { 		if (this.next == null) { // 如果只有一个节点 			this.next = newNode; // 保存新节点 		} else { // 当前节点后面还有节点 			// 当前节点的下一个节点继续保存 			this.next.addNode(newNode);   		} 	}  // 第一次调用(Link):this代表Link.root 	// 第二次调用(Node):this代表Link.root.next 	// 第三次调用(Node):this代表Link.root.next.next 	public void printNode() { 		System.out.println(this.data);// 输出当前数据 		if (this.next != null) {// 如果还有下一个节点 			this.next.printNode();// 输出下一节点 		} 	} } public class LinkDemo {   	public static void main(String[] args) { 	 Link link = new Link() ; 	 link.add("hello");   //存放数据 	 link.add("world"); 	 link.add("wwww"); 	 link.print();     //展示数据 		 	} 	 } //负责数据的设置和输出 public class Link { 	private Node root; //根节点 //增加数据   public void add (String data){ 	  //为了设置数据的先后关系,所以将data包装在一个Node类对象 	  Node newNode = new Node(data); 	  if(this.root == null ){  //一个链表只有一个根节点 		  this.root = newNode;  //将新的节点设置为根节点 	  }else{   		  //从root节点后找到合适的位置 		  this.root.addNode(newNode); 	  }   } //输出数据 public void print(){ 	if( this.root != null ){ 		this.root.printNode(); 	} } }

相关学习推荐:java基础教程

以上就是java中的链表是什么的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 链表
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:java对象是什么?

相关资讯