java集合框架:浅谈如何使用LInkedList实现队列(Queue)和堆栈(Stack)

Java中的LinkedList 是采用双向循环列表实现的。

利用LinkedList 可以实现栈(stack)、队列(queue)

下面写两个例子

学生类:

int stuId;

publicintgetStuId(){returnstuId;}publicvoidsetStuId(intstuId){this.stuId = stuId;}publicStringgetStuName(){returnstuName;}publicvoidsetStuName(String stuName){this.stuName = stuName;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age = age;}String stuName;intage;publicStudent(){}publicStudent(intstuId,String stuName,intage){this.age = age;this.stuId = stuId;this.stuName = stuName;}publicStringtoString(){return("学生姓名:"+this.stuName+"学生年龄"+this.age+"学生编号"+this.stuId);}

队列

自定义方法实现LInkedList

LinkedList lists =new LinkedList();

publicvoidpush(Objectobject){    lists.addLast(object);}publicObjectpop(){returnlists.removeFirst();}

实现方法

System.out.println("在队列中添加对象");

MyQuene quene = new MyQuene();

quene.push(new Student(1,"学生1",20));

quene.push(new Student(2,"学生2",21));

quene.push(new Student(3,"学生3",23));

for (Object object : quene.lists) {

Student student = (Student)object;

System.out.println(student.toString());

}

System.out.println("在队列中删除对象");

quene.pop();

for (Object object : quene.lists) {

Student student = (Student)object;

System.out.println(student.toString());

}

堆栈:

自定义方法,并实现

LinkedList lists =new LinkedList();

publicvoidpush(Objectobject){    lists.addFirst(object);}publicObjectpop(){returnlists.removeLast();}

System.out.println("在队列中添加对象");

MyStack Stack = new MyStack();

Stack.push(new Student(1,"学生1",20));

Stack.push(new Student(2,"学生2",21));

Stack.push(new Student(3,"学生3",23));

for (Object object : Stack.lists) {

Student student = (Student)object;

System.out.println(student.toString());

}

System.out.println("在队列中删除对象");

Stack.pop();

for (Object object : Stack.lists) {

Student student = (Student)object;

System.out.println(student.toString());

}

感兴趣的可以加群:854393687

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,764评论 18 399
  • 废话不多说,自己进入今天的主题 1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:...
    传奇内服号阅读 2,392评论 1 31
  • 山泽损,损,减也。君子以惩忿室欲(治肝汉肾)。多怒则伤肝,多欲则伤肾,知所减省而惩之窒之,则肝火不得妄动,而肾水亦...
    石林析阅读 689评论 0 2
  • 不要一直记恨,越记恨越降低自己的品味。
    静水流深vs沧笙踏歌阅读 153评论 0 0
  • 爱情只需激情,要的是两人之间的那种刻骨铭心的感觉。 而婚姻却有着太多的,琐碎的日常事。 爱情总是充满着浪漫和缠绵,...
    运安阁主阅读 553评论 0 1