Java集合中的数据结构栈

栈是一种数据结构,这种结构实现了数据的先进后出,那么栈是怎么运行的呢?

在这里插入图片描述
由上图我们可以看到,栈相当于一个封底的盒子;封底的一端我们叫栈底,数据进出的一端我们叫栈顶;当我们向栈里存放数据的时候,最先放入的数据会被放入最下面,当我们要拿出数据的时候,只能先拿出它上面的数据后才能拿到最下面的数据,这样就实现了数据的先进后出(栈的特点)

在java集合体系中也存在栈类Stack

	Stack<Integer> st = new Stack<Integer>();

他和其他集合一样,可以传入泛型指定存放的数据类型
我们通过**push(E e)pop()**方法存放和取出数据

		Stack<Integer> st = new Stack<Integer>();
		//通过push()方法存放数据
		st.push(12);
		st.push(24);
		st.push(34);
		//通过pop()方法取出数据
		System.out.println(st.pop());//打印数据为:34
		System.out.println(st.pop());//打印数据为:24
		System.out.println(st.pop());//打印数据为:12

通过打印结果我们可以看到,最后存放的数据最先拿出来;最先存放的数据最后拿出来;实现了数据先进后出的特点

我们再来看看Collection继承体系中Stack所处位置
在这里插入图片描述
由图可以看到栈Stack的父类是Vector;因为Vector是线程安全的集合类,所以对于栈Stack来说入栈和出栈也是线程安全的

今天的分享就到这里了,如果有错误的地方,欢迎大家来指点!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值