集合补充
一、常见基础集合汇总

二、数据结构:栈
数据结构分为:
1、逻辑结构 :思想上的结构 –》卧室,厨房,卫生间 –》线性表(数组,链表),图,树,栈,队列
2、物理结构 :真实结构 –》钢筋混凝土+牛顿力学 –》紧密结构(顺序结构),跳转结构(链式结构)
特点:后进先出(LIFO – last in first out)


实际应用:
1、内存分析:形参,局部变量放入栈中。放入的那个区域的数据结构就是按照栈来做的。
(堆:利用完全二叉树的结构来维护一组数据)

2、网络浏览器多会将用户最近访问过的网址组织为一个栈。这样,用户每访问一个新页面,其地址就会被存放至栈顶;而用户每按下一次“后退”按钮,即可沿相反的次序访问此前刚访问过的页面。
3、主流的文本编辑器也大都支持编辑操作的历史记录功能(ctrl + z:撤销,ctrl + y:恢复),用户的编辑操作被依次记录在一个栈中。一旦出现误操作,用户只需按下“撤销”按钮,即可取消最近一次操作并回到此前的编辑状态。
三、Stack
package com.lanson.test01; | |
import java.util.Stack; | |
/** | |
* @author : Lansonli | |
*/ | |
public class Test { | |
//这是main方法,程序的入口 | |
public static void main(String[] args) { | |
/* | |
Stack是Vector的子类,Vector里面两个重要的属性: | |
Object[] elementData;底层依然是一个数组 | |
int elementCount;数组中的容量 | |
*/ | |
Stack s = new Stack(); | |
s.add("A"); | |
s.add("B"); | |
s.add("C"); | |
s.add("D"); | |
System.out.println(s);//[A, B, C, D] | |
System.out.println("栈是否为空:" + s.empty()); | |
System.out.println("查看栈顶的数据,但是不移除:" + s.peek()); | |
System.out.println(s); | |
System.out.println("查看栈顶的数据,并且不移除:" + s.pop()); | |
System.out.println(s); | |
s.push("D");//和add方法执行的功能一样,就是返回值不同 | |
System.out.println(s); | |
} | |
} |
正文完