当前位置: 首页 > news >正文

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

回顾

集合框架

在这里插入图片描述

两个重点——ArrayList和HashSet.

在这里插入图片描述

Vector/ArraysList/LinkedList区别

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

在这里插入图片描述

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

常用Api

List*

remove()的两种删除

在这里插入图片描述

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

数组比较

在这里插入图片描述
在这里插入图片描述

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

队列

在这里插入图片描述

可排序的队列

在这里插入图片描述


http://www.mrgr.cn/news/18600.html

相关文章:

  • Android U 多任务启动分屏——Launcher流程(更新中)
  • Linux中MFS分布式文件系统(实战教程)全网最详细
  • debian系统安装mysql
  • 5、Django Admin后台移除“删除所选”操作
  • PrimeTime low power-多电压设计流程(3)
  • STM32开发资料
  • 共创AI+ 数智新引擎—2024 大模型创新应用线下沙龙上海站圆满落幕
  • VI改造计划补充篇
  • 科研|基于SprinBoot+vue的科研管理系统(源码+数据库+文档)
  • 世平安森美 NFAL5065L4BT IPM 应用于1500W 热泵热水器压缩机驱动器的方案介绍
  • 短信群发技术指南(106短信群发必掌握)
  • 零风险!零付费!我把 AI 接入微信群,爸妈玩嗨了~附教程(上):高德 API 接入
  • 微信小程序请求数据接口封装
  • Linux驱动(三):字符设备驱动之杂项
  • 浏览器百科:网页存储篇-如何在Chrome中打开Cookie(二)
  • 【Linux】自定义子进程(第十篇)
  • TCP和UDP的区别
  • Linux 用户和组管理(详细)
  • 芯片解决方案--SL8541e-OpenHarmony适配方案
  • 笔记:《利用Python进行数据分析》之透视表和交叉表