java通过LinkedList实现堆栈和队列数据结构

 1 package com.shb.java;
 2
 3 import java.util.LinkedList;
 4
 5 public class TestLinkedList {
 6
 7     /**
 8      * @author shaobn
 9      * @Describe :利用LinkedList实现队列和堆栈
10      * @param args
11      * @Time : 2015-8-27 下午10:28:33
12      */
13     public static void main(String[] args) {
14         // TODO Auto-generated method stub
15         DoLinkedList dll = new DoLinkedList();
16         String []str = {"java","php","C","C++"};
17         testAdd(dll, str);
18         while(!testEmp(dll)){
19             sysMethod(testGet(dll));
20         }
21         System.out.println("执行完毕");
22     }
23
24     public static void sysMethod(Object obj){
25
26         System.out.println(obj);
27     }
28     public static void testAdd(DoLinkedList dll,String[] str){
29         for(String s:str){
30             dll.addEle(s);
31         }
32     }
33     public static String testGet(DoLinkedList dll){
34         return dll.getEle();
35     }
36     public static boolean testEmp(DoLinkedList dll){
37         if(dll.isEmp()){
38             return true;
39         }else {
40             return false;
41         }
42     }
43 }
44 class DoLinkedList{
45     private LinkedList<String> linkedList;
46     public DoLinkedList(){
47         this.linkedList = new LinkedList<String>();
48     }
49     public void addEle(String str){
50
51         linkedList.add(str);
52     }
53     public String getEle(){
54         return linkedList.removeFirst();
55     }
56     public boolean isEmp(){
57         return linkedList.isEmpty();
58
59     }
60 }

一个简单的小程序,封装的不太好,半夜写的,如有错误,欢迎大家指出,谢谢。

时间: 2024-12-09 03:05:36

java通过LinkedList实现堆栈和队列数据结构的相关文章

Java LinkedList特有方法程序小解 &amp;&amp; 使用LinkedList 模拟一个堆栈或者队列数据结构。

package Collection; import java.util.LinkedList; /* LinkedList:特有的方法 addFirst()/addLast(); getFirst()/getLast(); removeFirst()/removeLast(); 若链表为空,抛出 没有这个元素异常/NoSuchElementException 但是 JDK1.6 版本以后出现了替代方法: offerFirst()/offerLast(); peekFirst()/peekLas

Java使用LinkedList模拟一个堆栈或者队列数据结构

用Java模拟一个堆栈或者队列数据结构. 首先得明白堆栈和队列的数据结构: 堆栈:先进后出 队列:先进先出 LinkedList中刚好有addFirst()和addLast()方法. [java] view plaincopyprint? public class Stack { public static void main(String[] args) { StackTools tools = new StackTools(); tools.add("a"); tools.add(

使用LinkedList模拟一个堆栈或者队列数据结构

使用LinkedList模拟一个堆栈或者队列数据结构. 堆栈:先进后出  如同一个杯子. 队列:先进先出  如同一个水管. import java.util.LinkedList; public class DuiLie { private LinkedList link; public DuiLie() { link = new LinkedList(); } public void myAdd(Object obj) { link.addFirst(obj); } public Object

java集合 collection-list-LinkedList 模拟一个堆栈或者队列数据结构。

/* 使用LinkedList模拟一个堆栈或者队列数据结构. 堆栈:先进后出 如同一个杯子. 队列:先进先出 First in First out FIFO 如同一个水管. */ import java.util.*; class DuiLie { private LinkedList link; DuiLie() { link = new LinkedList(); } public void myAdd(Object obj) { link.addFirst(obj); } public O

用LinkedList模拟一个堆栈或者队列数据结构 总结: LinkedList知识点

/** 用LinkedList模拟一个堆栈或者队列数据结构. 创建一个堆栈和队列数据结构对象,该对象中使用LinkedList来完成的. 知识点总结: 1.LinkedList特点:链表式数据结构. 重复有序,查询速度慢,增删速度快.不同步的. 2.LinkedList除了实现List接口增删改查的功能外,有一些特有的方法,能够实现在List(列表)的开头和结尾 插入,删除,获取等特有功能.这就是为什么LinkedList能够模拟一个堆栈,或者队列,双端队列的数据结构了. 涉及知识点: 1.什么

Java:基于LinkedList实现栈和队列

1.提供一组栈的接口,其底层关联到一个LinkedList(双端队列)实例.由于只暴露部分基于栈实现的接口,所以可以提供安全的栈实现. package junit; import java.util.LinkedList; /** * 用LinkedList实现栈 * * 队列和栈区别:队列先进先出,栈先进后出. * * @author 林计钦 * @version 1.0 Sep 5, 2013 11:24:34 PM */ public class Stack<T> { private L

【Java学习笔记】&lt;集合框架&gt;使用LinkedList来模拟一个堆栈或者队列的数据结构

1 import java.util.LinkedList; 2 3 public class Test5 { 4 5 public static void main(String[] args) { 6 7 Duilie dl = new Duilie(); 8 9 dl.myAdd("abc1"); 10 dl.myAdd("abc2"); 11 dl.myAdd("abc3"); 12 dl.myAdd("abc4");

java:堆栈,队列,枚举,链表

Stack类 栈:(水杯喝水,先进后出) 栈是一种数据结构,是只能在某一端插入和删除的特殊线性表.他按照先进后出的原则存储数据 Enumeration(枚举) 1,hasMoreElements()    测试此枚举是否包含更多的元素 2,nextElements()    如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素 ----------------------------- 代码演示: package day07; import java.util.Date; impor

【数据结构】java中LinkedList学习总结

一.LinkedList实现原理概述 LinkedList 和 ArrayList 一样,都实现了 List 接口,但其内部的数据结构有本质的不同.LinkedList 是基于链表实现的(通过名字也能区分开来),所以它的插入和删除操作比 ArrayList 更加高效.但也是由于其为基于链表的,所以随机访问的效率要比 ArrayList 差. 二.LinkedList类定义 public class LinkedList<E> extends AbstractSequentialList<