JAVA基础学习之路链表

Posted 1996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA基础学习之路链表相关的知识,希望对你有一定的参考价值。

定义链表的基本结构:

class Link {//外部类
    //内部类,只为链表类服务
    private class Node {//定义节点类
        private String data;//保存的数据
        private Node next;//引用关系
        public Node (String data) {
            this.data = data;
        }
    private Node root;//定义根节点
    }
    
}

 

1.数据增加 public void add(数据类型,变量)

如果要向链表之中增加数据,应该由Link类负责节点对象的产生,并由Link类维护根节点

所有关系匹配交给Node类处理

class Link {//外部类
    private Node root;//定义根节点
    //内部类,只为链表类服务
    private class Node {//定义节点类
        private String data;//保存的数据
        private Node next;//引用关系

        public Node (String data) {
            this.data = data;
        }
        
        public void addNode(Node newNode) {
            if (this.next == null) {//下一个位空,直接接后面
                this.next = newNode;
            } else {//下一个不为空,后移一位再判断
                this.next.addNode(newNode);
            }
        }
    }
    public void add(String data) {
        if (data ==null)  {
            return;
        }; 
        Node newNode = new Node(data);
        if (this.root == null) {
            this.root = newNode;
        } else {
            this.root.addNode(newNode);
        }    
    } 
}
    

public class test1 {
    public static void main(String args[]) {
            Link link = new Link();
            link.add("hello");
            link.add("world");
            link.add(null);
            
    }
}

 

2.取得保存的node个数public int size()

1.在link类中增加count属性
2.在add方法中增加 this.count ++ ,表示每次增加node则count加一
3.增加public int size ()方法,返回count的值

 

3.判断是否是空链表 public boolean isEmpty()

两种方法:1.判断root是否为空

     2.判断数据量(count)

public boolean isEmpty() {
    return this.count == 0;
}

 

4.数据查询 public boolean contains(数据类型,变量)

判断某个数据是否存在

 

以上是关于JAVA基础学习之路链表的主要内容,如果未能解决你的问题,请参考以下文章

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

《Python学习之路 -- Python基础之切片》

java学习之路之javaSE基础2

JAVA基础学习之路this关键字

Java自学编程学习之路资源合集

java学习之路之javaSE基础3