```The concept of linked list
The defect of array as data storage structure;
In an unordered array, search is inefficient
However, it is inefficient to insert an ordered array
No matter in which array the deletion efficiency is very low
After an array is created, its size is immutable
A linked list can be an ordered or unordered list
The contents of the linked list are usually stored in scattered locations in memory
The chain list consists of nodes, each of which has the same structure
The node is divided into data domain and chain domain. Data domain is the content of the node, and chain domain is the pointer to the next node

The establishment of linked list is also called the initialization of linked list:
The first node in the list, we call it the head node. The structure of the head node is the same as that of the common node
Usually we will specify it at the beginning of the list.
The last node in the list is empty, which is expressed as NUL in the program to avoid throwing
Null pointer exception.
```
```class Node{
//Define the beginning of a list
public String id;
public Node next;
public Node() {

}
public Node(String id) {
this(id,null);
}
public Node(String id,Node next) {
this.id=id;
this.next=next;
}
}
//Building tables
//The header node will not put data
}
/**
* 2.Find the last element through the header
* 3.Put the new node after the last element
*/
while(p.next!=null) {
p=p.next;
}
Node temp=new Node(data);
p.next=temp;
}
//Delete operation
public void deleteNode(String data) {
/**
* 2.Find the last element through the header
* 3.Delete the last element
*/
//Empty list direct return
if(p.next==null) {

}
while(p.next!=null) {
if(p.next.id.equals(data)) {
p.next=p.next.next;
break;
}
else {
p=p.next;
}
}

}
//ergodic
public void display() {
while(p.next!=null) {
System.out.println("->>"+p.next.id);
p=p.next;
}
}
//lookup
public void findNode(String data) {
/**
* 2.Find the element through the header
* 3.Delete the last element
*/
//Empty list direct return
if(p.next==null) {

}
while(p.next!=null) {
if(p.next.id.equals(data)) {
System.out.println("data"+p.next.id);
break;
}
else {
p=p.next;
}
}

}
//Insert node
public  void insertNode(String param,String data) {
/*
* param Indicates that the new node is to be inserted after the node
* Find the node of param element through the header
* Insert the new node after the node
*/
while(p.next!=null) {
if(p.next.id.equals(param)) {
Node temp=p.next;
Node insertNode=new Node(data);
insertNode.next=temp.next;
temp.next=insertNode;
break;
}else {
p=p.next;
}
}
}
//Calculate list size
public int size() {
int n=0;
while(p.next!=null) {

p=p.next;
n++;
}
return n;
}
public static void main(String[] args) {