A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小洋人最happy 中级黑马   /  2012-11-27 17:03  /  1141 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
使用LinkedList模拟一个堆栈或队列的数据结构
堆栈:先进后出
队列:先进先出

*/

import java.util.*;

class DuiLie
{
        private LinkedList link;//是否可以写成private LinkedList link = new ListedLink();
       
        DuiLie()
        {
                link = new LinkedList(); //这句话是对link进行初始化吗?
        }

        public void Myadd(Object obj)//为什么使用Object obj
        {
                link.addFirst(obj);
        }

        public Object Myget()//为什么使用Object?  为什么()不添加参数呢?和上面添加参数的有什么区别呢?
        {
                return link.removeLast();
        }

        public boolean isNull()
        {
                return link.isEmpty();
        }
}

class LinkedListTest
{
        public static void main(String[] args)
        {
                DuiLie dl = new DuiLie();
               
                dl.Myadd("java01");
                dl.Myadd("java02");
                dl.Myadd("java03");
                dl.Myadd("java04");

                while (!dl.isNull())
                {
                        System.out.println(dl.Myget());
                }


       
        }
}


评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

1 个回复

正序浏览
class DuiLie
{
        private LinkedList link;//是否可以写成private LinkedList link = new ListedLink();答:可以,不过没必要,应为在构造函数里已经有初始化操作,这样会创建两个ListLink对象。
        
        DuiLie()
        {
                link = new LinkedList(); //这句话是对link进行初始化吗?答:是
        }

        public void Myadd(Object obj)//为什么使用Object obj答:Object是所有类的基类,这样这个方法就可以处理任何类型(基本数据类型除外)的参数了
        {
                link.addFirst(obj);
        }

        public Object Myget()//为什么使用Object?  为什么()不添加参数呢?和上面添加参数的有什么区别呢?答:添加参数的目的是把“原料”交给方法。这个方法的原料“link”是类的私有成员,可以直接使用,不需要从外部传入。
        {
                return link.removeLast();
        }

        public boolean isNull()
        {
                return link.isEmpty();
        }
}

class LinkedListTest
{
        public static void main(String[] args)
        {
                DuiLie dl = new DuiLie();
               
                dl.Myadd("java01");
                dl.Myadd("java02");
                dl.Myadd("java03");
                dl.Myadd("java04");

                while (!dl.isNull())
                {
                        System.out.println(dl.Myget());
                }


评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马