08 集合框架1
什么是数据结构?
存储数据,组织数据的方法,就是对数据做增删改查的操作
常见的数据结构有哪些?各自的优缺点是什么?
数组:擅长修改 查找操作,不擅长增加 删除操作
链表:有单项链表和双向链表,擅长增加和删除操作,不擅长修改和查找的操作
队列:擅长操作头和尾,先进先出,不能操作中间数据
栈:先进后出,只能从外面一步一步执行
集合框架的作用是什么?
作为一个容器,存储多个数据,主要存对象,可以存任何类型
说说Java中的集合继承体系
Collection继承:List,Set,和Map没有直接的继承关系
List继承:ArrayList,LinkedList
Set继承:HashSet,TreeSet
Map继承HashMap,HashSet
List集合的特点是什么?有哪些常用的List集合?
有序,可以重复
常用的List集合:ArrayList,LinkedList
//创建List对象
List list=new ArrayList();
//添加
list.add("A")
list.add("B");
list.add("C");
list.add("D");
sout.list;
//删除
list.remove("A");//删除指定的元素
list.remove(2);//删除指定位置的元素
List list2=new ArrayList();
//添加
list2.add("1")
list2.add("2");
list2.add("3");
list2.add("4");
list.addAll(list2);//添加集合list.remove("A");//删除指定元素
list.remove(2);//删除指定位置的元素
list.removeAll(list2);//删除集合
list.clear();//全部删除list.set(3,"b")//修改list.get(0);//查询
说说ArrayList集合的底层原理
底层就是一个Objiect类,是一个数组算法的列表
操作数组的增删改查
什么是泛型?为什么需要泛型?
当某个类或者接口数据类型不确定时,用一个标识符来表示位置数据类型
//定义泛型类型
public class PlayList<T> {//定义一个数组来存球衣号码
//修改value的类型为Tprivate T[] players;//将类型设置成Objiect
PlayList<Integer> list=new PlayList<Integer>();PlayList list2=new PlayList(11);list.add(33);list.add(22);
集合中为什么需要使用到泛型?如何使用?
为了规范集合中的数据是相同类型的,省去强制转换的操作
使用方法:
//在类上面声明使用符号,表示未知类型
public calss ponit<T>{
private T x;
private T y;
}
//String作为泛型,p传进取去的值只能是String类型的
point<String> p=new point<String>();
point<String> p=new point<>();
集合元素的遍历
List<String> list = new ArrayList<>();//创建集合list.add("A");list.add("B");list.add("C");list.add("D");//forfor (int i = 0; i < list.size(); i++) {System.out.print(list.get(i) + "\t");}//for-each,底层是迭代器for (Object l : list) {System.out.print(l + "\t");}//迭代器Iterator<String> iterator = list.iterator();while (iterator.hasNext()) {//使用hasNext判断是否还有下一个元素System.out.println(iterator.next());//获取指针下一个元素,获取后指针向后面移动一位}
迭代器的底层原理:
作用:当删除集合中的某一个元素时,for-each(底层是迭代器)会出现报错的情况,所以删除元素的时候使用迭代器(Iterator),使用迭代器的时候需要使用泛型,否则取出来的类型是Objiect
1.指针默认指在集合中的第一个元素之前
2.先判断指针后面的位置是否有元素hasNext()
3.如果有,就使用next()方法去获取下一个元素,并且将指针向后移动一个
相关文章:
08 集合框架1
什么是数据结构? 存储数据,组织数据的方法,就是对数据做增删改查的操作 常见的数据结构有哪些?各自的优缺点是什么? 数组:擅长修改 查找操作,不擅长增加 删除操作 链表:有单项链表和双向链表,擅长增加和删除操作,不擅长修改和查找的操作 队列:擅长操作头和尾,先进先出,…...
内卷把同事逼成了“扫地僧”,把Git上所有面试题整理成足足24W字测试八股文
互联网大厂更多的是看重学历还是技术? 毫无疑问,是技术,技术水平相近的情况下,肯定学历高/好的会优先一点,这点大家肯定都理解。 说实话,学弟学妹们找工作难,作为面试官招人也难呀!…...
10-jQuery-遍历children、parent、for、each、for...of等
1、for 循环:可以用来遍历数组或类数组对象,但不能用来遍历普通对象。 <ul><li>John</li><li>Doe</li><li>Jane</li><li>Doe</li> </ul><script>var lis $(li);for (var i 0; i &…...
联想集团财报:收入持续下滑,联想集团财务前景已恶化
来源:猛兽财经 作者:猛兽财经 联想集团2023财年第三季度财务业绩回顾 联想集团(00992)于2023年2月16日盘后公布了该公司2023财年第三季度的财报。 财报显示,联想集团的收入已经从2022财年第三季度的201.27亿美元下降到…...
GPT4限制被破解!ChatGPT实现超长文本处理的新方法
目录 前言 使用chat-gpt过程中有哪些痛点 1.无法理解人类情感和主观性 2.上下文丢失 3.约定被打断 那如何去解决这个痛点 Transformer(RMT)怎么去实现的 1.Transformer 模型 2.RMT模型 3.计算推理速率 4.渐进学习能力 总结 写到最后 大家好…...
奋斗,然后成功:我的架构狮之梦
与代码结缘 2018年,当时听说了一个很厉害的人——吴瀚清老师,也就是大家所熟知的“道哥”。关于他的事情有很多传说,于是我也很快成为了他的小迷弟,把吴瀚清老师当成了自己的偶像。 也是那一年,我买了人生中第一本关…...
自定义属性,v-bind computed的使用
0.0 自定义组件的使用 【掌握】 先自定义自己的组件 引入组件 import 组件名 from 路径/文件名 注册组件 <script> export default {components:{ // 组件注册组件名:组件名,组件名1},data(){ // 数据return {}},methods:{ // 方法} } </script&…...
解决城市内涝的措施有哪些?需要用到哪些监测设备?
随着城市化的不断推进,城市内涝问题日益凸显。极端天气事件如暴雨、台风等对城市基础设施和居民生活造成了严重影响。那么,解决城市内涝的措施有哪些?需要用到哪些监测设备?针对上述问题,本文会为大家一一进行讲解。 解决城市内涝的措施有哪…...
Spark大数据处理讲课笔记----Spark任务调度
零、本节学习目标 理解DAG概念了解Stage划分了解RDD在Spark中的运行流程 一、有向无环图 (一)DAG概念 DAG(Directed Acyclic Graph)叫做有向无环图,Spark中的RDD通过一系列的转换算子操作和行动算子操作形成了一个…...
【22-23春】AI作业10-经典卷积网络
1.LeNet & MNIST LeNet是一种神经网络的模型,用于图像识别和分类。他包含 3 个卷积层,2 个池化层,1 个全连接层。其中所有卷积层的所有卷积核都为 5x5,步长 strid1,池化方法都为全局 pooling,激活函数…...
第13章_约束
第13章_约束 1. 约束(constraint)概述 1.1 为什么需要约束 数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的…...
GPC规范--安全域基础概念
概述: 分为三种主流类型: 1、发卡方安全域(Issuer Security Domain, ISD),卡片上首要的、强制性存在的安全域,是卡片管理者(通常是发卡方)在卡片内的代表; 2、补充安全域(Supplementary Security Domain&am…...
C++初阶--C++入门之基础学习
0.前言 C是一门非常好的编程语言,但可能在学习C的过程中会遇到很多困难。人们常说 “一个人走得很快,一群人会走的更远”, 所以就让我们一起攻坚克难,一起征服C吧!从本章开始,我们将开始C的基础学习&#x…...
服务器虚拟化部署
服务器虚拟化部署 1、背景2、目的3、环境4、部署4.1、部署VMware ESXi4.1.1、准备工作4.1.2、部署ESXi4.1.3、配置ESXi4.1.4 、部署虚拟机 1、背景 项目上利旧9台服务器,项目需要使用15台服务器,外购已经没有项目硬件采购预算,只能从目前的…...
实验篇(7.2) 01. 实验环境介绍 远程访问 ❀ Fortinet网络安全专家 NSE4
【简介】学习NSE4,如果只看文章而不动手做实验,就象耍流氓。为了有效的巩固学习到的内容,建议经常动手做实验。实验不怕出错,身经百战后,再在生产环境部署和配置FortiGate防火墙,就会做到胸有成竹。 虚拟实…...
ThinkPHP6 模型层的模型属性,表映射关系,以及如何在控制层中使用模型层和模型层中的简单CRUD
ThinkPHP6 模型层的模型属性,表映射关系,以及模型层的CRUD及如何在控制层中使用模型层 1. model 模型层的默认映射规则 模型,即mvc模式中的model层,model层用来对接数据库,操作数据库的增删改查。 在tp6中ÿ…...
CodeForces.1806A .平面移动.[简单][判断可达范围][找步数规律]
题目描述: 题目解读: 给定移动规则以及起始点,终点;分析终点是否可达,可达则输出最小步数。 解题思路: 首先要判定是否可达。画图可知,对于题目给定的移动规则,只能到达起始点(a,b…...
Linux系统编程学习 NO.4 ——基础指令学习、操作系统时间的概念、文件压缩包的概念
1.时间相关的概念以及指令 1.1.时间相关的指令 1.1.1.date指令 date可以指定时间显示的格式:date 指定格式 选项 %H:小时 %M:分钟 %S:秒数 %Y:年份 %m:月份 %d:日 %F:相当于%Y-%m-%d %X:相当…...
leecode 数据库:601. 体育馆的人流量
导入数据: Create table If Not Exists Stadium (id int, visit_date DATE NULL, people int); Truncate table Stadium; insert into Stadium (id, visit_date, people) values (1, 2017-01-01, 10); insert into Stadium (id, visit_date, people) values (2, 20…...
gym不渲染画面的解决方案(gym版本号0.26.2)
确认gym版本号 我安装了新版gym,版本号是0.26.2,不渲染画面的原因是,新版gym需要在初始化env时新增一个实参render_mode‘human’,并且不需要主动调用render方法,官方文档入门教程如下 import gym import numpy as n…...
Laravel Telescope门禁监控终极指南:10个技巧安全追踪用户权限和授权逻辑
Laravel Telescope门禁监控终极指南:10个技巧安全追踪用户权限和授权逻辑 【免费下载链接】telescope An elegant debug assistant for the Laravel framework. 项目地址: https://gitcode.com/gh_mirrors/te/telescope Laravel Telescope 是 Laravel 框架的…...
RoboMaster装甲板识别避坑指南:灯条匹配参数怎么调?反光、远距离识别失败怎么办?
RoboMaster装甲板识别实战调参手册:从灯条匹配到抗干扰优化 第一次在赛场边调试装甲板识别算法时,我盯着屏幕上疯狂跳动的识别框,突然理解了什么叫"实验室里的王者,赛场上的青铜"。当场地灯光直射装甲板、敌方机器人高速…...
GLM-OCR嵌入式部署轻量化实践:从服务器到边缘设备的模型压缩
GLM-OCR嵌入式部署轻量化实践:从服务器到边缘设备的模型压缩 最近在做一个智能零售柜的项目,需要实时识别商品包装上的文字信息。一开始我们用的是云端API,识别效果确实不错,但网络延迟和稳定性成了大问题——有时候网络一波动&a…...
Qwen3-VL-2B场景应用:电商识图、教育答题、办公文档处理实战
Qwen3-VL-2B场景应用:电商识图、教育答题、办公文档处理实战 1. 项目概述 Qwen3-VL-2B-Instruct是一款基于视觉语言模型(Vision-Language Model)的多模态AI服务,能够同时处理图像和文本输入,实现复杂的图文交互功能。该模型针对CPU环境进行…...
手把手教你部署MiniCPM-V-2_6:最强视觉多模态模型,小白也能快速体验
手把手教你部署MiniCPM-V-2_6:最强视觉多模态模型,小白也能快速体验 1. 认识MiniCPM-V-2_6:视觉多模态新标杆 MiniCPM-V-2_6是目前最先进的视觉多模态模型之一,它基于SigLip-400M和Qwen2-7B构建,总参数量达到80亿。这…...
JavaScript typeof 操作符详解
JavaScript typeof 操作符详解 引言 在JavaScript中,typeof 是一个一元运算符,用于检测给定变量的数据类型。它是JavaScript中最常用的类型检测方法之一。本文将详细介绍 typeof 操作符的用法、返回值以及注意事项。 typeof 运算符概述 typeof 运算符可以用于检测任何Jav…...
费马小定理,快速幂
今天显示延续了昨天的背包问题,先是写了一题背包问题,后面就写费马定理加快速幂。费马小定理证明如果一个数p是质数,并且a不是p的倍数,那么一定有a^(p-1)1(mod p);那么自然有a^(p-2)a^-1(mod p)…...
如何利用秒排 seo 快速提升关键词排名
如何利用秒排 seo 快速提升关键词排名 在互联网时代,搜索引擎优化(SEO)已经成为提升网站流量和品牌知名度的关键手段。其中,“秒排 SEO”这一概念在近几年越来越受到关注。究竟什么是“秒排 SEO”,如何利用它来快速提…...
LDC1101嵌入式驱动开发:电感-数字转换器SPI控制与实时优化
1. LDC1101嵌入式驱动库深度解析:高精度电感-数字转换器的底层控制实践LDC1101是德州仪器(TI)推出的一款高分辨率、高速度电感-数字转换器(Inductance-to-Digital Converter),专为非接触式位置检测、金属物…...
OpenClaw 实战:让AI 页面“秒开即用”,实现 Vibecoding 真正闭环
我为什么会发出这个疑问呢?是因为我研究Web开发中的一个问题时,HTTP请求体在 Filter(过滤器)处被读取了之后,在 Controller(控制层)就读不到值了,使用 RequestBody 的时候。 无论是字…...
