Heim  >  Artikel  >  Java  >  Was ist eine verknüpfte Liste in Java?

Was ist eine verknüpfte Liste in Java?

little bottle
little bottleOriginal
2019-05-21 15:54:048939Durchsuche

Eine verknüpfte Liste ist eine Datenstruktur, die entsprechend der logischen Beziehung zwischen Elementknoten angeordnet ist. In diesem Artikel erfahren Sie mehr über die verknüpfte Liste in Java. Interessierte Freunde können mehr darüber erfahren.

Was ist eine verknüpfte Liste in Java?

Verknüpfte Liste ist eine Datenstruktur, die entsprechend der logischen Beziehung von Elementknoten angeordnet ist. Verknüpfte Listen können zum Speichern mehrerer Daten verwendet werden, was dem Konzept von Arrays ähnelt.

Aber das Array selbst hat einen Nachteil: Die Länge des Arrays ist fest und kann nicht geändert werden. Wenn die Länge festgelegt ist, ist die erste Wahl definitiv das Array, in der tatsächlichen Entwicklung jedoch die Länge des Inhalts Da die zu speichernde Größe oft unsicher ist, können Sie anstelle eines Arrays eine Struktur wie eine verknüpfte Liste verwenden.

Die verknüpfte Liste ist die einfachste Datenstruktur. Ihr Hauptzweck besteht darin, mehrere Daten mithilfe von Referenzbeziehungen zu speichern. Unter der Annahme, dass es sich bei den jetzt zu speichernden Daten um eine Zeichenfolge (Referenztyp) handelt, können Sie entsprechend speichern zu der in der Abbildung dargestellten Beziehung.

Was ist eine verknüpfte Liste in Java?

Code der Java-verknüpften Liste:

//每一个链表实际上就是由多个节点组成的
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();
	}
}
}

Verwandte Lernempfehlungen: Java Basic Tutorial

Das obige ist der detaillierte Inhalt vonWas ist eine verknüpfte Liste in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was ist ein Java-Objekt?Nächster Artikel:Was ist ein Java-Objekt?