Java 基本数据结构 Stack Queue

1.Stack详解(栈的逻辑结构:后进先出)

创建栈 <?> 属于泛型:

Stack<?> stack = new Stack<>();

操作栈:

push(Object o)向栈中存放数据(改变Stack,返回值为新添加的数据o)

pop()从栈中获取数据(改变Stack,返回值为获取到栈顶数据)

peek()查看栈中数据(不改变Stack,返回值为栈顶数据)

search(Object o)查找栈中数据(不改变Stack,返回值从栈顶到数据o的距离,默认栈顶为1)

empty()查看栈是否为空(不改变Stack,返回值当栈为空返回true)

        //创建栈 <Integer>
        Stack<Integer> numberStack = new Stack<>();
        //添加数据
        numberStack.push(123);
        System.out.println(numberStack);
        //查看栈顶数据
        System.out.println(numberStack.peek());
        System.out.println(numberStack);
        //获取栈顶数据
        System.out.println(numberStack.pop());
        System.out.println(numberStack);
        //判断栈是否为空
        System.out.println(numberStack.empty());

        //查找元素距离栈顶的距离
        numberStack.push(123);
        numberStack.push(456);
        System.out.println(numberStack.search(123));
        System.out.println(numberStack);

运行结果:

2.Queue(队列的逻辑结构:先进先出)

创建<?>属于泛型

Queue<Integer> queue = new ArrayDeque<>();

offer(Object o)向队列追加数据(改变Queue,返回值为成功与否)

poll()从队列头部获取数据(改变Queue,返回值为队头数据)

peek()查看队头数据(不改变Queue,返回值为队头数据)

isEmpty()判断队列是否为空(不改变Queue,返回值如果为空返回true)

        //创建队列
        Queue<Integer> numberQueue = new ArrayDeque<>();
        //添加数据
        numberQueue.offer(123);
        numberQueue.offer(456);
        System.out.println(numberQueue);
        //查看数据
        Integer y = numberQueue.peek();
        System.out.println(y);
        System.out.println(numberQueue);
        //拿取数据
        Integer x = numberQueue.poll();
        System.out.println(x);
        System.out.println(numberQueue);
        //判断是否为空
        System.out.println(numberQueue.isEmpty());

运行结果:

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值