JAVA 集合类(java.util)源码阅读笔记------Stack
Posted Itzel_yuki
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 集合类(java.util)源码阅读笔记------Stack相关的知识,希望对你有一定的参考价值。
一、继承关系
public class Stack<E> extends Vector<E>
(1)继承自Vector类,线程安全。可按位置访问,可clone,可序列化
Vecotr实现了
(2)List接口:继承自Collection接口,同时自己也定义了一系列索引访问功能。
(3)RandomAccess:空接口,实现该接口代表该类拥有随机访问list对象的能力。
(4)Cloneable:空接口,实现该接口,重写Object的clone方法,否则会抛出异常。调用super.clone()实现对象的复制,如果对象中有引用,可以在super.clone后面进行处理。
(5)java.io.Serializable:空接口,实现该接口代表该类可序列化
二、方法说明
(1)push:addElement(item)是一个同步的方法
public E push(E item)
addElement(item);
return item;
(2)pop:removeElementAt(len - 1)是一个同步的方法
public synchronized E pop()
E obj;
int len = size();
//peek也是线程安全的
obj = peek();
removeElementAt(len - 1);
return obj;
(3)peek:elementAt(len - 1)同步方法
public synchronized E peek()
int len = size();
if (len == 0)
throw new EmptyStackException();
return elementAt(len - 1);
(4)empty:判断是否为空
public boolean empty()
return size() == 0;
(5)search:同步方法
public synchronized int search(Object o)
//同步方法
int i = lastIndexOf(o);
if (i >= 0)
return size() - i;
return -1;
以上是关于JAVA 集合类(java.util)源码阅读笔记------Stack的主要内容,如果未能解决你的问题,请参考以下文章
JAVA 集合类(java.util)源码阅读笔记------ArrayList
JAVA 集合类(java.util)源码阅读笔记------Hashtable
JAVA 集合类(java.util)源码阅读笔记------HashMap
JAVA 集合类(java.util)源码阅读笔记------WeakHashMap