java 集合框架-利用LinkedList实现堆栈数据结构

/*
利用LinkedList来实现队列(先进先出)和堆栈(先进后出)
堆栈:后进先出
队列:先进先出
*/

import java.util.*;
/*队列:将LinkedList进行封装,实现队列先进先出的功能特点*/
class Duilie
{
	private LinkedList link;

	Duilie()
	{
		link=new LinkedList();
	}

	public void myAdd(Object obj)
	{
		link.addFirst(obj);
		sop(link.getFirst());
	}

	public Object myGet()
	{
		return link.removeLast();
	}

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

	public static void sop(Object obj)
	{
		System.out.println(obj);
	}
}

/*
堆栈:将LinkedList进行封装,实现堆栈后进先出的功能特点
*/

class Duizhan
{
	private LinkedList link;
	Duizhan()
	{
		link=new LinkedList();
	}

	public void myAdd(Object obj)
	{
		link.addFirst(obj);
		sop(link.getFirst());
	}

	public Object myGet()
	{
		return link.removeFirst();
	}

	public boolean isEmpty()
	{
		return link.isEmpty();
	}
	public static void sop(Object obj)
	{
		System.out.println(obj);
	}

}
class  LinkedListTest
{
	public static void main(String[] args)
	{
		duiLie();
		duizhan();
	}

	public static void duiLie()
	{
		Duilie dl=new Duilie();
		sop("-------------------队列---------------------");
		dl.myAdd("Hello..1");
		dl.myAdd("Hello..2");
		dl.myAdd("Hello..3");
		dl.myAdd("Hello..4");
		sop("队列出的顺序");
		//sop(dl);
		while(!dl.isEmpty())
		{
			sop(dl.myGet());
		}
		sop("---------------------end-------------------");
	}

	public static void duizhan()
	{
		Duizhan dz=new Duizhan();
		sop("-------------------堆栈---------------------");
		dz.myAdd("Hello..1");
		dz.myAdd("Hello..2");
		dz.myAdd("Hello..3");
		dz.myAdd("Hello..4");
		sop("堆栈出的顺序");
		//sop(dz);
		while(!dz.isEmpty())
		{
			sop(dz.myGet());
		}
		sop("---------------------end-------------------");
	}

	public static void sop(Object obj)
	{
		System.out.println(obj);
	}
}

时间: 2024-10-19 11:06:20

java 集合框架-利用LinkedList实现堆栈数据结构的相关文章

java集合框架04——LinkedList和源码分析

上一章学习了ArrayList,并分析了其源码,这一章我们将对LinkedList的具体实现进行详细的学习.依然遵循上一章的步骤,先对LinkedList有个整体的认识,然后学习它的源码,深入剖析LinkedList. LinkedList简介 首先看看LinkedList与Collection的关系: LinkedList的继承关系如下: java.lang.Object ? java.util.AbstractCollection<E> ? java.util.AbstractList&l

Java集合框架之LinkedList类

ArrayList用数组作为其保存元素的数据结构,而LinkedList采用的是链表的数据结构.而ArrayList和LinkedList都是线性表list.但LinkedList并不具备随机访问能力,而ArrayList拥有. 对于链表集合,首先(1)我们使用API里现成的LinkedList类来进行一些分析,之后(2)我们再用自身的java代码实现链表及其LinkedList中相对应的方法. (1)现成API接口的分析使用 定义如下,与ArrayList类似. LinkedList<Stri

集合框架(用LinkedList模拟栈数据结构的集合并测试案例)

package cn.itcast_05; import java.util.LinkedList; /** * 自定义的栈集合 * * @author 风清扬 * @version V1.0 */ public class MyStack { private LinkedList link;//定义成员变量 public MyStack() { link = new LinkedList(); } public void add(Object obj) { link.addFirst(obj)

Java集合框架面试问题集锦

Java集合框架(例如基本的数据结构)里包含了最常见的Java常见面试问题.很好地理解集合框架,可以帮助你理解和利用Java的一些高级特性.下面是面试Java核心技术的一些很实用的问题. Q:最常见的数据结构有哪些,在哪些场景下应用它们? A. 大部分人都会遗漏树和图这两种数据结构.树和图都是很有用的数据结构.如果你在回答中提及到它们的话,面试者可能会对你进行进一步进行的考核. Q:你如何自己实现List,Set和Map? A:虽然Java已经提供了这些接口的经过实践证明和测试过的实现,但是面试

[转载] Java集合框架之小结

转载自http://jiangzhengjun.iteye.com/blog/553191 1.Java容器类库的简化图,下面是集合类库更加完备的图.包括抽象类和遗留构件(不包括Queue的实现): 2.ArrayList初始化时不可指定容量,如果以new ArrayList()方式创建时,初始容量为10个:如果以new ArrayList(Collection c)初始化时,容量为c.size()*1.1,即增加10%的容量:当向ArrayList中添加一个元素时,先进行容器的容量调整,如果容

Java集合框架(二)day_16

16.集合框架(去除ArrayList中重复字符串元素方式)(掌握) public class Demo1_ArrayList { /** * * A:案例演示 * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) * 思路:创建新集合方式 */ public static void main(String[] args) { ArrayList list = new ArrayList(); list.add("a"); list.add("a"

Java集合框架 面试问题整理

简介 java集合类是java.util 包中的重要内容.java集合框架包含了大量集合接口以及这些接口的实现类和操作他们的算法. java集合框架图 主要提供的数据结构 List 又称有序的Collection.它按照对象的进入顺序保存对象,可以对列表中的每个元素的出入和删除元素位置进行精确的控制.同时,它可以保存重复的对象. LinkedList.ArrayList.Vector都实现了List接口. Set Set 是数学意义上的集合.集合中元素不可重复.因此存入set的每个元素都必须通过

一起学 Java集合框架、数据结构、泛型

一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个层次. 实现(类):是集合接口的具体实现.从本质上讲,它们是可重复使用的数据结构. 算法:是实现集合接口的对象里的方法执行的一些有用的计算,例如:搜索和排序.这些算法被称为多态,那是因为相同的方法可以在相似的接口上有着不同的实现. 集合接口 序号 name 接口描述 1 Collection Col

【Java】Java集合框架源码和数据结构简要分析——List

前言 之前一直把集合框架分成Collection和Map来对待,主要是基于储存内容是单列和双列,实际上这样来区分不太正确,set实际上是双列的结构. 现在回顾集合框架,看到很多当初看不到的东西. 现在来看集合框架,一部分是List,一部分是Set和Map,Set和Map几乎就是一回事. 一.数据结构 不讲太深入的东西,实际上我也讲不了多深入. 数据结构,就是一堆数据的关系. 逻辑结构--数据逻辑上的关系,其实就是数据结构,而数据的逻辑结构几乎可以分成四种:线性结构.集合结构.树形结构和图结构.