当前位置: 首页 > 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

队列

在这里插入图片描述

可排序的队列

在这里插入图片描述

相关文章:

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

回顾 集合框架 两个重点——ArrayList和HashSet. Vector/ArraysList/LinkedList区别 VectorArraysListLinkedList底层实现数组数组链表线程安全安全不安全不安全增删效率较低较低高扩容*2*1.5-------- &#xff08;>>&#xff09;运算级最低&#xff0c;记得加括号。 常…...

构建全景式智慧文旅生态:EasyCVR视频汇聚平台与AR/VR技术的深度融合实践

在科技日新月异的今天&#xff0c;AR&#xff08;增强现实&#xff09;和VR&#xff08;虚拟现实&#xff09;技术正以前所未有的速度改变着我们的生活方式和工作模式。而EasyCVR视频汇聚平台&#xff0c;作为一款基于云-边-端一体化架构的视频融合AI智能分析平台&#xff0c;可…...

C++结构体声明时初始化

提示&#xff1a;文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 前期疑问&#xff1a; 本文目标&#xff1a; 一、背景 最近 二、 2.1 c 结构体默认初始化 在C中&#xff0c;结构体的默认成员初始化可以通过构造函数来完成。如果没有为结构体提供构造函数&#x…...

基于微信的热门景点推荐小程序的设计与实现(论文+源码)_kaic

摘 要 近些年来互联网迅速发展人们生活水平也稳步提升&#xff0c;人们也越来越热衷于旅游来提高生活品质。互联网的应用与发展也使得人们获取旅游信息的方法也更加丰富&#xff0c;以前的景点推荐系统现在已经不足以满足用户的要求了&#xff0c;也不能满足不同用户自身的个…...

9、设计模式

设计模式 1、工厂模式 在工厂模式中&#xff0c;我们在创建对象时不会对客户端暴露创建逻辑&#xff0c;并且是通过使用一个共同的接口来指向新创建的对象。工厂模式作为一种创建模式&#xff0c;一般在创建复杂对象时&#xff0c;考虑使用&#xff1b;在创建简单对象时&…...

数学专题.

数论 1.判断质数 定义&#xff1a;在大于1的整数中&#xff0c;如果只包含1和本身这两个约数&#xff0c;就称为质数or素数 Acwing 866.试除法判断质数 2.预处理质数&#xff08;筛质数&#xff09; Acwing 868.筛质数 3.质因数分解 Acwing 867.分解质因数 4.阶乘分解 5.因…...

如何提升网站的收录率?

要提升网站的收录率&#xff0c;其中一个特别有效的工具就是GPC爬虫池&#xff0c;这个工具通过深度研究谷歌SEO算法&#xff0c;吸引谷歌爬虫。 GPC爬虫池的基本原理是构建一个庞大的站群系统&#xff0c;并创建复杂的内链和外链结构&#xff0c;以吸引并留住谷歌蜘蛛 使用GP…...

HALCON根据需要创建自定义函数

在HALCON中&#xff0c;根据需要创建自定义函数是扩展其图像处理和分析功能的有效方式。HALCON支持通过其高级编程接口&#xff08;HDevelop和C/C、C#、Python等&#xff09;来创建自定义函数。这里将主要讨论在HDevelop环境中如何创建自定义函数&#xff0c;因为HDevelop是HAL…...

力扣SQL仅数据库(196~569)

196. 删除重复的电子邮箱 题目&#xff1a;编写解决方案 删除 所有重复的电子邮件&#xff0c;只保留一个具有最小 id 的唯一电子邮件。 &#xff08;对于 SQL 用户&#xff0c;请注意你应该编写一个 DELETE 语句而不是 SELECT 语句。&#xff09; &#xff08;对于 Pandas …...

网络基础:理解IP地址、默认网关与网段(IP地址是什么,默认网关是什么,网段是什么,IP地址、默认网关与网段)

前言 在计算机网络中&#xff0c;IP地址、默认网关和网段&#xff08;也称为子网&#xff09;之间有着密切的关系。它们是网络通信中的至关重要的概念&#xff0c;但它们并不相同。这里来介绍一下它们之间的关系&#xff0c;简单记录一下 一. IP地址 1. 介绍 IP 地址&#xf…...

windows安装php7.4

windows安装php7.4 1.通过官网下载所需的php版本 首先从PHP官网&#xff08;https://www.php.net/downloads.php&#xff09;或者Windows下的PHP官网&#xff08;http://windows.php.net/download/&#xff09;下载Windows版本的PHP安装包。下载后解压到一个路径下。 2.配…...

【代码随想录|图论part03之后】

代码随想录|数组 704. 二分查找,27. 移除元素 一、part031、101. 孤岛的总面积1.1 dfs版本1.2 BFS版本2.102. 沉没孤岛3、103. 水流问题4、104.建造最大岛屿二、part041、110. 字符串接龙2、105.有向图的完全可达性3、106. 岛屿的周长三、part05-06 并查集理论1、107. 寻找存在…...

【项目一】基于pytest的自动化测试框架day1

day1不涉及编写代码&#xff0c;只简单梳理接口测试相关的概念。 day1接口测试的本质&#xff1a;功能测试的一部分测试用例的设计与实现接口调试与自动化&#xff1a;从postman到持续集成补充概念 day1 接口测试的本质&#xff1a;功能测试的一部分 接口测试是功能测试的一部…...

如何下载和安装 Notepad++

Notepad 是一款功能强大的开源文本编辑器&#xff0c;广泛用于代码编写和文本编辑。以下是 Notepad 的下载安装教程&#xff1a; 下载 Notepad 访问官方网站 打开你的网络浏览器&#xff0c;访问 Notepad 的官方网站&#xff1a;https://notepad-plus-plus.org/ 选择下载选项…...

笔记:如何使用Process Explorer分析句柄泄露溢出问题

一、目的&#xff1a;如何使用Process Explorer分析句柄泄露溢出问题 使用 Process Explorer 分析句柄泄漏问题是一个非常有效的方法。句柄泄漏通常是由于应用程序在创建系统资源&#xff08;如文件、注册表项、GDI 对象等&#xff09;后没有正确释放这些资源。以下是使用 二、…...

HTTP/2

http相关知识点 HTTP/2是超文本传输协议&#xff08;HTTP&#xff09;的第二个主要版本&#xff0c;旨在解决HTTP/1.x版本中存在的一些性能限制和效率问题。HTTP/2由互联网工程任务组&#xff08;IETF&#xff09;的HTTP工作组开发&#xff0c;最终在2015年作为RFC 7540正式发…...

如何在算家云搭建ComfyUI(AI绘画)

一、ComfyUI简介 ComfyUI 是一个强大的、模块化的 Stable Diffusion 界面与后端项目。该用户界面将允许用户使用基于图形/节点/流程图的界面设计和执行高级稳定的扩散管道。该项目部分其它特点如下&#xff1a; 全面支持 SD1.x&#xff0c;SD2.x&#xff0c;SDXL&#xff0c;…...

公司的企业画册如何制作?

企业画册是公司形象和产品服务展示的重要载体&#xff0c;一个制作精良的企业画册不仅能展示公司的实力&#xff0c;也能提升客户对公司专业度的认可。以下是制作企业画册的步骤和要点&#xff0c;帮助你的公司画册既美观又实用。 1.要制作电子杂志,首先需要选择一款适合自己的…...

13、Django Admin创建两个独立的管理站点

admin文件 from .models import Epic, Event, EventHero, EventVillain from django.contrib.admin import AdminSiteclass EventAdminSite(AdminSite):site_header "Events管理"site_title "欢迎您&#xff01;"index_title "管理员"even…...

使用docker compose一键部署 Openldap

使用docker compose一键部署 Openldap LDAP&#xff08;轻量级目录访问协议&#xff0c;Lightweight Directory Access Protocol&#xff09;是一种用于访问分布式目录服务的网络协议&#xff0c;OpenLDAP 是 LDAP 协议的一个开源实现&#xff0c;由 OpenLDAP 项目提供&#x…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...