Java集合中的数据结构栈

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

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

在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所处位置
Java集合中的数据结构栈_第2张图片
由图可以看到栈Stack的父类是Vector;因为Vector是线程安全的集合类,所以对于栈Stack来说入栈和出栈也是线程安全的

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

你可能感兴趣的:(java学习,java)