集合框架,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

队列

可排序的队列

相关推荐
wuk9981 分钟前
基于MATLAB编制的锂离子电池伪二维模型
linux·windows·github
好好研究23 分钟前
学习栈和队列的插入和删除操作
数据结构·学习
lzb_kkk1 小时前
【C++】C++四种类型转换操作符详解
开发语言·c++·windows·1024程序员节
挺菜的3 小时前
【算法刷题记录(简单题)003】统计大写字母个数(java代码实现)
java·数据结构·算法
2401_858286114 小时前
125.【C语言】数据结构之归并排序递归解法
c语言·开发语言·数据结构·算法·排序算法·归并排序
双叶8365 小时前
(C++)学生管理系统(正式版)(map数组的应用)(string应用)(引用)(文件储存的应用)(C++教学)(C++项目)
c语言·开发语言·数据结构·c++
学不动CV了7 小时前
数据结构---链表结构体、指针深入理解(三)
c语言·arm开发·数据结构·stm32·单片机·链表
Paper_Love8 小时前
x86-64_windows交叉编译arm_linux程序
arm开发·windows
前端若水9 小时前
通过 Windows 共享文件夹 + 手机访问(SMB协议)如何实现
windows·智能手机
算法_小学生9 小时前
LeetCode 287. 寻找重复数(不修改数组 + O(1) 空间)
数据结构·算法·leetcode