使用LinkedList模拟一个堆栈或者队列数据结构
来源:互联网 发布:骚扰电话黑名单数据库 编辑:程序博客网 时间:2024/05/16 17:32
LinkedList特有方法:
addFirst();addLast();getFirst();getLast();
获取元素但不删除元素。如果集合中没有元素会会出现NoSuchElementException.
(JDK 1.6 出现替代方法offerFirst(),offLast();peekFirst(),peekLast()。集合中没有元素会返回Null)
removeFirst();removeLast();
获取元素,但是元素被删除。如果集合中没有元素会出现NoSuchElementException.
(JDK 1.6 出现替代方法poolFirst(),poolLast()。集合中没有元素会返回Null)
队列数据结构:先进先出,如同一个水管
import java.util.*;public class LinkedListDemo { public static void main(String[] args) { // TODO Auto-generated method stub LinkedList<String> link=new LinkedList<String>(); link.addFirst("java01"); link.addFirst("java02"); link.addFirst("java03"); link.addFirst("java04"); sop(link); while(!link.isEmpty()) { sop(link.removeLast()); } } public static void sop(Object obj) { System.out.println(obj); }}
运行结果:
加入取出元素代码
link.getFirst();
则会出现NoSuchElementException,表示集合中没有元素会出现
堆栈数据结构:先进后出,如同一个杯子
只需将如上代码中while循环中removeLast()改为removeFirst()即可。如下:
import java.util.*;public class LinkedListDemo { public static void main(String[] args) { // TODO Auto-generated method stub LinkedList<String> link=new LinkedList<String>(); link.addFirst("java01"); link.addFirst("java02"); link.addFirst("java03"); link.addFirst("java04"); sop(link); while(!link.isEmpty()) { sop(link.removeFirst()); } link.getFirst(); } public static void sop(Object obj) { System.out.println(obj); }}
运行结果:
或者可以封装为以下代码:
import java.util.*;class DuiLie{ private LinkedList<String> link; DuiLie() { link=new LinkedList<String>(); } public void myadd(String s) { link.addFirst(s); } public Object myget() { return link.removeLast();//FIFO,队列 //return link.removeFirst();//先进后出,堆栈 } public boolean isNull() { return link.isEmpty(); }}public class LinkedListTest { public static void main(String[] args) { // TODO Auto-generated method stub DuiLie d1=new DuiLie(); d1.myadd("java01"); d1.myadd("java02"); d1.myadd("java03"); d1.myadd("java04"); while(!d1.isNull()) { System.out.println(d1.myget()); } } public static void sop(Object obj) { System.out.println(obj); }}
0 0
- 使用LinkedList模拟一个堆栈或者队列数据结构
- 使用LinkedList模拟一个堆栈或者队列数据结构
- java 使用LinkedList模拟一个堆栈或者队列数据结构
- Java使用LinkedList模拟一个堆栈或者队列数据结构
- 黑马程序员使用LinkedList模拟一个堆栈或者队列数据结构。
- 使用LinkedList模拟一个堆栈或者队列数据结构
- 集合框架---使用LinkedList模拟一个堆栈或者队列数据结构
- Java使用LinkedList模拟一个堆栈或者队列数据结构。
- 使用LinkedList来模拟一个堆栈或者队列数据结构
- 使用LinkedList模拟一个堆栈或队列数据结构
- 使用LikedList 模拟一个堆栈或者俄队列数据结构。
- java小练习-使用LinkedList模拟一个堆栈或队列数据结构
- 用LinkedList集合模拟一个队列(先进先出)或者堆栈(先进后出)数据结构。
- 使用LinkedList来模拟堆栈或队列数据结构
- LinkedList集合模拟堆栈,队列数据结构
- LinkedList模拟堆栈和队列数据结构
- LinkedList中定义一个堆栈或者队列
- 黑马程序员- 使用LikedList模拟一个堆栈或者队列数据结构学习日记
- 如何获取shell函数的返回值及shell命令的返回值?
- BI(商业智能)
- C++作业
- 硬中断和软中断
- 程序员面试金典(5)以值x分割链表,小的在前面,大于等于的在后面
- 使用LinkedList模拟一个堆栈或者队列数据结构
- ios之格式化数字
- 辗转相除法(求最大公约数,最小公倍数)
- 人工智能领域中声源定位的研究与发展------第一章 绪论
- 二叉树算法
- 5、(API)String(常见功能-获取/判断)
- 如果字符串的一个子串(其长度大于 1)的各个字符均相同,则称之为等值子串。试设计一算法,求出串S中的最大等值子串 函数返回最大等值子串的长度,如果没有则返回1。 例如: 若S= “abc123abc1
- poj 1770 Special Experiment (树形dp)
- 魔方阵