集合框架,List常用API,栈和队列初识

回顾

集合框架

两个重点------ArrayList和HashSet.

Vector/ArraysList/LinkedList区别

Vector ArraysList LinkedList
底层实现 数组 数组 链表
线程安全 安全 不安全 不安全
增删效率 较低 较低
扩容 *2 *1.5 --------

(>>)运算级最低,记得加括号。

常用Api

List*

remove()的两种删除

API 解释
1 add() 添加
2 remove(index) 索引删除
3 remove(Object) 对象删除
4 set(index,e)《Set》 修改
5 clear() 清空
6 size() 长度
7 get(index)《List》 查询
8 indexOf()《List》 找出位置
9 contains(用前要重写) 包含
10 isEmpty() 集合为空
11 itreator() 迭代器(遍历和删除)
12 toString() 转换为字符串

数组比较


Stack栈

后进先出

栈是一种特殊的数据结构,后进先出。

结构

底层还是数组。Vector派生出来的,继承Vector。

Api方法

push():入栈

peek():栈顶

取栈顶不会删除栈顶。

System.out.println("栈顶:"+stack.peek());//栈顶------最后进栈的

pop():出栈

出栈会删除栈顶元素。

System.out.println("wu:"+stack.pop());//出栈

完整代码:

复制代码
package com.ffyc.Stack;

import java.util.Stack;

public class StackDemo01 {
    public static void main(String[] args) {
        Stack<Integer> stack = new Stack<>();
        //存------压栈
        stack.push(1);
        stack.push(2);
        stack.push(3);
        stack.push(4);
        stack.push(5);

        System.out.println("栈:"+stack);
        System.out.println("栈顶:"+stack.peek());//栈顶------最后进栈的
        //System.out.println("wu:"+stack.pop());//出栈

        //倒序打印
        while (stack.size()>0){
            int temp = stack.pop();//pop()后当前的栈顶元素自动删除
            System.out.println(temp);
        }

    }
}

反转"hello"

中间的回文数量的题可以用

计算器题目

准备工作

length-1 否则越界


Queue队列


offer()进

队头添加数据

poll()出

从队头取出元素/数据

peek()顶

取出最先进队的元素。第一个offer()进去的元素。

是下面代码的输出:queue.peek--->1

队列

可排序的队列

相关推荐
7 9721 分钟前
C语言基础知识--文件的顺序读写与随机读写
java·数据结构·算法
☆璇1 小时前
【数据结构】排序
c语言·开发语言·数据结构·算法·排序算法
ITHAOGE151 小时前
下载 | Win10 2021精简版,预装应用极少!(7月更新、Win 10 IoT LTSC 2021版、适合老电脑安装)
windows·物联网·microsoft·微软·电脑
艾莉丝努力练剑4 小时前
【LeetCode&数据结构】单链表的应用——反转链表问题、链表的中间节点问题详解
c语言·开发语言·数据结构·学习·算法·leetcode·链表
_殊途6 小时前
《Java HashMap底层原理全解析(源码+性能+面试)》
java·数据结构·算法
liulilittle10 小时前
.NET ExpandoObject 技术原理解析
开发语言·网络·windows·c#·.net·net·动态编程
秋说10 小时前
【PTA数据结构 | C语言版】顺序队列的3个操作
c语言·数据结构·算法
lifallen11 小时前
Kafka 时间轮深度解析:如何O(1)处理定时任务
java·数据结构·分布式·后端·算法·kafka
risc12345612 小时前
BKD 树(Block KD-Tree)Lucene
java·数据结构·lucene
kk_stoper13 小时前
如何通过API查询实时能源期货价格
java·开发语言·javascript·数据结构·python·能源