>  기사  >  Java  >  자바의 연결리스트란 무엇인가

자바의 연결리스트란 무엇인가

little bottle
little bottle원래의
2019-05-21 15:54:048939검색

링크드 리스트는 요소 노드의 논리적 관계에 따라 배열된 데이터 구조입니다. 이 기사에서는 Java의 연결 목록에 대해 설명합니다. 관심 있는 친구는 이에 대해 배울 수 있습니다.

자바의 연결리스트란 무엇인가

Linked list는 요소 노드의 논리적 관계에 따라 배열된 데이터 구조입니다. 연결된 목록은 배열의 개념과 유사하게 여러 데이터를 저장하는 데 사용할 수 있습니다.

하지만 배열 자체에는 단점이 있습니다. 배열의 길이가 고정되어 변경할 수 없다는 점입니다. 길이가 고정되면 첫 번째 선택은 당연히 배열이지만 실제 개발에서는 저장할 내용의 길이가 입니다. 종종 불확실하므로 배열 대신 연결 리스트와 같은 구조를 사용할 수 있습니다.

연결된 목록은 가장 간단한 데이터 구조입니다. 주요 목적은 참조 관계에 의존하여 여러 데이터를 저장하는 것입니다. 따라서 지금 저장되는 데이터가 문자열(참조 유형)이라고 가정하면 그림과 같이 됩니다. 저장되었습니다.

자바의 연결리스트란 무엇인가

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 기본 튜토리얼

위 내용은 자바의 연결리스트란 무엇인가의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.