`
greemranqq
  • 浏览: 972107 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

JAVA深入集合--Stack

阅读更多

Stack 介绍:

      其实Stack  还真没啥好介绍的,主要的知道一点:(LIFO)后进先出 就行了。这东西是线性表(感觉是数据按直线方式存放)一种。直接看源码吧,很简单。

 

 

public
class Stack<E> extends Vector<E> {
    
    public Stack() {
    }

    public E push(E item) {
	addElement(item);

	return item;
    }

 
    public synchronized E pop() {
	E	obj;
	int	len = size();

	obj = peek();
	removeElementAt(len - 1);

	return obj;
    }
    public synchronized E peek() {
	int	len = size();

	if (len == 0)
	    throw new EmptyStackException();
	return elementAt(len - 1);
    }

    public boolean empty() {
	return size() == 0;
    }

 
    public synchronized int search(Object o) {
	int i = lastIndexOf(o);

	if (i >= 0) {
	    return size() - i;
	}
	return -1;
    }
}

 

 

源码 多做介绍了,其实就是Vector 类的扩展,添加了5个方法。

我们知道  特点先进先出,自然就会提供:

方法:

push(E item) :把元素放在最上面(顶部)。

pop():一处最上面的元素

peek():查看最上面的元素

search(Object o):搜索元素在集合的位置。

 

上述所有的操作都是根据Vector  ,相当于素组的操作进行的,上一篇介绍Vector 已经提到这个了。数组本身就是Stack,不知道搞这个这个干嘛的。

小结:

1. Stack 是 Vector  的扩展,本质还是操作数组。同时也是线程安全的。

2. 深刻体会到了OO 的深意啊- -,扩展几个方法就是新的对象了。看来上网本 和 笔记本差距原来没那么大!

0
0
分享到:
评论
2 楼 greemranqq 2013-11-03  
chin_java 写道
stack是后进先出吧

~。~谢谢指正LIFO=last in ,first out.
1 楼 chin_java 2013-11-03  
stack是后进先出吧

相关推荐

    精通java集合框架--List,Set..

    本文将深入探讨Java集合框架的核心概念,包括`List`、`Set`、`Map`以及它们之间的区别和联系。 #### Java集合框架简介 Java集合框架是Java平台的一部分,它由一系列接口组成,这些接口描述了不同类型的容器,比如...

    Kosta-java-full-stack-02-15-2-30

    【标题】"Kosta-java-full-stack-02-15-2-30" 暗示这是一个关于Java全栈开发的学习资源,可能是某个课程或教程的一部分,日期可能表示发布或更新的时间,即2月15日的第2到第30个小时。这可能是一个连续的系列,涵盖...

    Kosta-java-full-stack-02-15

    【标题】"Kosta-java-full-stack-02-15" 暗示这是一个关于Java全栈开发的课程或教程,可能由一位名叫Kosta的专家或教育者提供。这个系列可能涵盖了从基础到进阶的Java编程,以及如何构建完整的Web应用程序。"02-15...

    (超赞)JAVA精华之--深入JAVA API

    ### 深入Java API #### 一、Java SE **1.1 深入 Java API** **1.1.1 Lang包** - **String类与 StringBuffer类** - `String` 类不可变,一旦创建后其内容无法更改;而 `StringBuffer` 类则允许在原有基础上修改...

    java-collections-framework1016

    Java早期版本中存在一些集合类,如`Vector`、`Stack`等,它们在Java 1.2之后逐渐被新引入的集合框架取代。这些历史集合类通常保留了向后兼容性,但在新的项目中推荐使用Java Collections Framework提供的类。 #### ...

    java---核心编程

    本文将深入探讨Java集合框架中的Collection接口及其子接口List。 Collection是所有单值集合的顶级接口,它定义了集合的基本操作。Collection接口有两个主要的子接口:List和Set。List接口代表一个有序的、允许重复...

    Java Learning Path---资源篇

    在Java学习的道路上,资源是不可或缺的伙伴,无论是初学者还是资深开发者,都...记得,理论知识结合实践是提高的关键,不断挑战自己,参与开源项目,加入Java社区,如Stack Overflow、GitHub等,都能加速你的学习进程。

    java---数据结构

    Java中的基本数据结构包括数组(Array)、链表(LinkedList)、栈(Stack)、队列(Queue)等。数组是最基础的结构,它提供了一种按索引访问元素的方法,但插入和删除操作效率较低。链表解决了数组在动态扩展时的...

    java数据结构--学习

    3. **栈**:栈是一种后进先出(LIFO)的数据结构,Java中的栈实现主要通过java.util.Stack类。理解栈的特性及其在递归、回溯算法中的应用,能提高解决问题的能力。 4. **队列**:队列是一种先进先出(FIFO)的数据...

    Java--collection.rar_SEP_java 集合

    Java集合框架是Java编程语言中的一个核心组件,它为数据存储和管理提供了强大的支持。这个框架包括了多种接口和类,使得程序员可以高效地处理对象集合。...Java集合框架的深入学习对于提升Java编程技能至关重要。

    Java集合框架总结

    本文档将深入探讨Java集合框架的关键组成部分、它们之间的关系以及如何有效地使用它们。 #### 二、Java集合框架结构 Java集合框架的核心部分包括以下几类: - **集合接口**:主要包括`Collection`、`Set`、`List`...

    Java集合详解,详细讲解java的集合类

    本文将深入讲解Java集合类,特别是Collection接口和其下的List、Set,以及Map接口中的几个重要实现类。 首先,我们来看Collection接口。Collection是最基本的集合接口,它代表一组Object,即它的元素。Collection...

    JAVA基础集合代码

    本文将深入探讨标题中的“JAVA基础集合代码”,主要关注List、Set、Stack、Map以及Queue这五种核心接口。 首先,我们来看List。List是一种有序的集合,允许元素有重复,并且可以保持元素的插入顺序。ArrayList和...

    java该怎么学-java学习方法-路线图

    本文将基于“java该怎么学-java学习方法-路线图”的主题进行深入探讨,旨在为学习者提供一条清晰且实用的学习路径,帮助大家避免在学习过程中浪费时间在那些目前不重要的技术上。 #### 一、明确学习目标 首先,...

    Java学习资料-核心知识

    Java的核心知识是每个开发者必须掌握的基础,这包括了对Java集合框架的深入理解。Java集合框架是Java库中的一组接口和类,提供了存储和操作对象的统一方式。 首先,Java集合框架的两个主要接口是`Collection`和`Map...

    java-data-struct.rar_数据结构 java_数据结构源码

    3. **栈(Stack)**:栈是一种后进先出(LIFO)的数据结构,Java.util.Stack类继承自Vector类,提供了push、pop等方法进行操作。 4. **队列(Queue)**:队列是一种先进先出(FIFO)的数据结构。Java.util.Queue...

    Java-C-JS数据结构与算法合集

    - Java提供了内置的`java.util`包,包含了ArrayList、LinkedList、Stack、Queue等数据结构的实现。 - Java集合框架包括Set、List、Map接口,以及对应的实现类如HashSet、ArrayList、HashMap等。 - Java的并发库`...

    java-data-struction.rar_DEMO

    Java集合框架是Java标准库中的重要组成部分,它提供了各种数据结构的实现,如ArrayList(动态数组)、LinkedList(链表)、Stack(栈)、Queue(队列)以及HashSet、HashMap等。这些类使得开发者可以方便地处理各种...

Global site tag (gtag.js) - Google Analytics