近期在复习下java基础,看了下java基础,在看到集合时突然发现想起来曾经面试有一道笔试题:模拟一个堆栈或者队列数据结构,当时还没做出来,今天就写一下,首先得明确堆栈和队列的数据结构

堆栈:先进后出

队列:先进先出

LInkedList中刚好有addFirst(),addLast()方法,如今写一个简单的工具类封装下就哦了

public class Demo4 {
public static void main(String[] args) {
Tools tools = new Tools();
tools.add("a");
tools.add("b");
tools.add("c");
tools.add("d"); tools.romove();
}
}
class Tools{
private LinkedList<String> ll;
public Tools(){
ll = new LinkedList<String>();
} public void add(String str){
ll.addFirst(str);
} public void romove(){
for(int i=0;i<ll.size();i++){
String content = ll.get(i);
System.out.println(content);
}
} }

打印结果:

d
c
b
a

这是先进后出,这就是堆栈的数据结构,队列就简单了,仅仅要把addFirst()方法改成addLast()方法即可

代码例如以下:

public class Demo4 {
public static void main(String[] args) {
Tools tools = new Tools();
tools.add("a");
tools.add("b");
tools.add("c");
tools.add("d"); tools.romove();
}
}
class Tools{
private LinkedList<String> ll;
public Tools(){
ll = new LinkedList<String>();
} public void add(String str){
ll.addLast(str);
} public void romove(){
for(int i=0;i<ll.size();i++){
String content = ll.get(i);
System.out.println(content);
}
} }

结果就不打印了。

java 使用LinkedList模拟一个堆栈或者队列数据结构的更多相关文章

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

    package Collection; import java.util.LinkedList; /* LinkedList:特有的方法 addFirst()/addLast(); getFirst( ...

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

    使用LinkedList模拟一个堆栈或者队列数据结构. 堆栈:先进后出  如同一个杯子. 队列:先进先出  如同一个水管. import java.util.LinkedList; public cl ...

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

    /* 使用LinkedList模拟一个堆栈或者队列数据结构. 堆栈:先进后出 如同一个杯子. 队列:先进先出 First in First out FIFO 如同一个水管. */ import jav ...

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

    堆栈:先进后出 First in last out filo 队列:先进先出 First in last out filo使用LinkedList的方法,addFirst addLast getFir ...

  5. 面试题:使用LinkedList来模拟一个堆栈或者队列数据结构

    请使用LinkedList来模拟一个堆栈或者队列数据结构. 堆栈:先进后出 First In Last Out  (FILO) 队列:先进先出 First In First Out  (FIFO) 我 ...

  6. C# 模拟一个处理消息队列的线程类 Message Queue

    // 模拟一个处理消息队列的类 class MessageHandler { // 消息队列 private Queue<string> messageQue = new Queue< ...

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

    package shb.java.demo3; import java.util.LinkedList; public class TestLinkedList { /** * @author sha ...

  8. 使用java.util.LinkedList模拟实现内存页面置换算法--LRU算法

    一,LRU算法介绍 LRU是内存分配中“离散分配方式”之分页存储管理方式中用到的一个算法.每个进程都有自己的页表,进程只将自己的一部分页面加载到内存的物理块中,当进程在运行过程中,发现某页面不在物理内 ...

  9. [数据结构] 用C语言模拟一个简单的队列程序

    #include<stdio.h> #include <stdlib.h> #include<string.h> #include<math.h> // ...

随机推荐

  1. USART—串口通讯

    本章中主要讲解的是串口异步通讯,异步通讯中由于没有时钟信号, 所以两个通讯设备之间需要约定好波特率,即每个码元的长度,以便对信号进行解码 . 串口通讯的一个数据包从起始信号开始,直到停止信号结束.数据 ...

  2. 如何查看iis的连接数量

    引用:http://jingyan.baidu.com/article/54b6b9c0f3c2002d583b470d.html 运行,输入,perfmon.msc.   在系统监视器,区域点击,添 ...

  3. CentOS下搭建wordpress全流程

    突然,想搭建一个个人博客,所以就在网上搜了搜相关内容,好多人推荐wordpress,那么就打算光荣地采用wordpress了.以下是安装过程中遇到的所有的坑,现在总结如下,希望给安装wordpress ...

  4. python Virtual Environments

    Install $ pip install virtualenv Basic usage 在一个项目中创建一个虚拟环境 $ cd my_project_folder $ virtualenv venv ...

  5. Unicode UTF-8 转换

    Unicode是类似“U+4E25”或“\u4E25”的编码方式,很多情况下是4个十六进制的数,有时候不止. Unicode编码系统可分为编码方式和实现方式两个层次: 编码方式:“严”的Unicode ...

  6. hadoop入门学习整理

    技术性网站 1.http://dongxicheng.org/ 2.http://www.iteblog.com/ 3.http://www.cnblogs.com/shishanyuan/p/414 ...

  7. hashMap与hashTable区别

    1.继承不同. public class Hashtable extends Dictionary implements Map public class HashMap extends Abstra ...

  8. Fragment切换页面

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  9. spring中关于FeignClient的错误 QueryParam.value() was empty on parameter 1

    现创建一个feignClient的接口,在其他服务调用改client时发现服务启动失败错误日志如下: org.springframework.beans.factory.BeanCreationExc ...

  10. poj3372

    Candy Distribution Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5868   Accepted: 327 ...