zoukankan      html  css  js  c++  java
  • 单链表java实现及相关操作(版本2)

    版本2入下:还是先写一个Node,相比版本1,在Node里面增加了addNode方法和printNode()方法。

    package lianbiaoDemo02;
    public class Node {
        private Node next;
        private String data;
        public  Node() {    
        }
        public Node(String data) {
            this.data = data;
        }
        public Node getNext() {
            return next;
        }
        public void setNext(Node next) {
            this.next = next;
        }
        public String getData() {
            return data;
        }
        public void setData(String data) {
            this.data = data;
        }
        public void addNode(Node node) {
            if(this.next==null) {
                this.next=node;
            }else {
                this.next.addNode(node);//递归
            }
        }
        public void printNode() {
            System.out.println(this.getData());
            if(this.next!=null) {
                this.next.printNode();
            }        
            
        }
    }

    再写一个Link类,写了add方法调用了Node类里面的addNode,写了print方法,调用了Node里面pintNode方法。

    package lianbiaoDemo02;

     public class Link {
         private Node root;//根节点
         public void add(String data) {
             Node node=new Node(data);
             if(this.root==null) {
                 this.root=node;
             }else {
                 this.root.addNode(node);
             }
         }
         public void print() {
             if(this.root!=null) {
                 this.root.printNode();
             }
         }
    }
    最后是一个测试方法:

    package lianbiaoDemo02;
    public class LinkTest {
        public static void main(String[] args) {
            
            Link link=new Link();
            link.add("葫芦娃1");
            link.add("葫芦娃2");
            link.add("葫芦娃3");
            link.add("葫芦娃4");
            link.add("葫芦娃5");
            
            link.print();
        }
    }

    版本2还是存在缺陷,因为在main方法中还是可以对Node进行操作。接下来在版本3中采用内部类的方式

  • 相关阅读:
    Struts2基于XML配置方式实现对action的所有方法进行输入校验
    Lucene对index操作
    Lucene自定义同义词分词器
    Lucene自定义排序
    使用CGlib实现AOP功能
    实战才是王道:工厂模式、三层架构、反射、多数据库问题
    一图看懂mybatis执行过程
    java synchronized 关键字原理
    Centos7 Redis3.0 集群搭建备忘
    关于泛型接口的探讨
  • 原文地址:https://www.cnblogs.com/had1314/p/11172577.html
Copyright © 2011-2022 走看看