取得元素个数:public int size();
在一个链表中可以保存多个元素的数据,那么为了操作的方便就需要知道其一共保存的数据个数,所以需要有一个计数的统计操作。
1.在Link类之中追加有一个统计个数的属性;
private int count =0;//当前的保存个数
2.随后在每次进行数据追加的时候都应该进行一个个数的累加
public void add(Object data) {
if(data==null) {
return ;
}
Node newNode=new Node(data);
if(this.root==null) {
this.root=newNode;
}else {
this.root.addNode(newNode);
}
this.count++;
}
3.可以直接取得元素的个数,就定义方法
class Link{
private class Node{
private Object data;
private Node next;
public Node(Object data) {
this.data=data;
}
public void addNode(Node newNode) {
if(this.next==null) {
this.next=newNode;
}else {
this.next.addNode(newNode);
}
}
}
//----------Link----------------
private int count =0;//保存当前个数
private Node root;
public void add(Object data) {
if(data==null) {
return ;
}
Node newNode=new Node(data);
if(this.root==null) {
this.root=newNode;
}else {
this.root.addNode(newNode);
}
this.count++;
}
public int size() { //取得元素个数
return this.count;
}
}
public class TestDemo {
public static void main(String[] args) {
Link all=new Link();
System.out.println(all.size());
all.add("1");
all.add("2");
all.add("3");
System.out.println(all.size());
}
}
判断是否为空链表:public boolean isEmpty()
现在如果根元素为null或保存的元素个数个数为0,则认为链表是一个空的链表,则isEmpty()返回的就应该是一个ture;
public boolean isEmpty() {
return this.root==null&&this.count==0;
}
为空判断与个数可以结合在一起完成,不需要过多的复杂的操作逻辑。