大数据必学Java基础(六十):集合补充

举报
Lansonli 发表于 2022/09/30 00:58:54 2022/09/30
【摘要】 ​集合补充一、常见基础集合汇总二、数据结构:栈 数据结构分为:1、逻辑结构 :思想上的结构 --》卧室,厨房,卫生间 --》线性表(数组,链表),图,树,栈,队列2、物理结构 :真实结构 --》钢筋混凝土+牛顿力学 --》紧密结构(顺序结构),跳转结构(链式结构)特点:后进先出(LIFO - last in first out)实际应用: 1、内存分析:形参,局部变量放入栈中。放入的那个区域...

集合补充

一、常见基础集合汇总

二、数据结构:栈

数据结构分为:

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);

    }
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。