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

集合框架——常用类

集合框架的理解

就是一个常用类

集合主要有三种类型【集合与集合之间可以互转】

    List(列表,是接口)Set(集合,是接口)Map(键值对,是接口)

Collection是以上及所有集合的接口,其里面的子类,一部分支持集合有序元素可重复,一部分支持集合无序元素不重复

可重复和不重复的理解:可重复是数据里面允许装重复的元素输出;不重复是数据里面不允许装重复的元素输出,但编译和运行不会报错,只是相同的多个元素只会输出一个

备注:无序指的是不保证添加数据的顺序和取出数据的顺序是一致的

List内的常用类【集合有序,可重复,允许存储null元素】

ArrayList【(实现类) 基于数组,查改快 】

字段摘要

构造方法摘要(常用)

ArrayList()

	构造一个初始容量为**十**的空列表

方法摘要(常用,一般创建对象接收使用多态

增操作

boolean add(E e)

	将指定的元素追加到此列表的末尾

public class ListArrarListTest {public static void main(String[] args) {List arrayList = new ArrayList();//习惯用多态arrayList.add(13);arrayList.add(14);arrayList.add(false);arrayList.add("wo");arrayList.add(13.14);arrayList.add(14);System.out.println(arrayList);//[13, 14, false, wo, 13.14, 14]}
}

void add(int index, E element)

	在此列表中的(索引)指定位置插入指定的元素

public class ListArrarListTest {public static void main(String[] args) {List arrayList = new ArrayList();//习惯用多态arrayList.add(13);arrayList.add(14);arrayList.add(false);arrayList.add("wo");arrayList.add(13.14);arrayList.add(14);arrayList.add(3,13);System.out.println(arrayList);//[13, 14, false, 13, wo, 13.14, 14]}
}

boolean addAll(Collection<? extends E> c)

	按指定**集合**的Iterator返回的顺序将指定集合中的所有元素追加到此列表的末尾

public class ListArrarListTest {public static void main(String[] args) {List arrayList = new ArrayList();//习惯用多态arrayList.add(13);arrayList.add(14);arrayList.add(false);arrayList.add("wo");arrayList.add(13.14);arrayList.add(14);arrayList.add(3,13);System.out.println(arrayList);//[13, 14, false, 13, wo, 13.14, 14]List arrayList2 = new ArrayList();arrayList2.add(10);arrayList2.add("GG");/*** add与addAll放入集合的区别** add方法里面放入集合,如下:这样会把arrayList中的数据作为一个整体,放入arrayList2集合中* 打印结果:[10, GG, [13, 14, false, 13, wo, 13.14, 14]]** addAll方法里面放入集合,如下:这样会把arrayList中的所有元素,放入arrayList2集合中* 打印结果:[10, GG, 13, 14, false, 13, wo, 13.14, 14]*///arrayList2.add(arrayList);//注意:这样会把arrayList中的数据作为一个整体,放入arrayList2集合中【就为整体作为一个值添加到arrayList2集合中】arrayList2.addAll(arrayList);System.out.println(arrayList2);}
}

boolean addAll(int index, Collection<? extends E> c)

	将指定集合中的所有元素插入到此列表中,从指定的位置开始。  

public class ListArrarListTest {public static void main(String[] args) {List arrayList = new ArrayList();//习惯用多态arrayList.add(13);arrayList.add(14);arrayList.add(false);arrayList.add("wo");arrayList.add(13.14);arrayList.add(14);arrayList.add(3,13);System.out.println(arrayList);//[13, 14, false, 13, wo, 13.14, 14]List arrayList2 = new ArrayList();arrayList2.add(10);arrayList2.add("GG");arrayList2.addAll(1,arrayList);System.out.println(arrayList2);//[10, 13, 14, false, 13, wo, 13.14, 14, GG]}
}

修改操作

E set(int index, E element)

	用指定的元素替换此列表中指定位置的元素 

public class ListArrarListTest {public static void main(String[] args) {List arrayList = new ArrayList();//习惯用多态arrayList.add(13);arrayList.add(14);arrayList.add(false);arrayList.add("wo");arrayList.add(13.14);arrayList.add(14);arrayList.set(2,1110);//根据指定索引替换元素数据System.out.println(arrayList);//[13, 14, 1110, wo, 13.14, 14]}
}

删操作

void clear()

	从列表中删除所有元素 

public class ListArrarListTest {public static void main(String[] args) {List arrayList = new ArrayList();//习惯用多态arrayList.add(13);arrayList.add(14);arrayList.add(false);arrayList.add("wo");arrayList.add(13.14);arrayList.add(14);arrayList.clear();//清空所有元素System.out.println(arrayList);//[]}
}

E remove(int index)

	删除该列表中指定位置的元素

public class ListArrarListTest {public static void main(String[] args) {List arrayList = new ArrayList();//习惯用多态arrayList.add(13);arrayList.add(14);arrayList.add(false);arrayList.add("wo");arrayList.add(13.14);arrayList.add(14);arrayList.remove(3);//根据指定索引删除值System.out.println(arrayList);//[13, 14, false, 13.14, 14]}
}

boolean remove(Object o)

	从列表中删除指定元素的第一个出现(如果存在)

public class ListArrarListTest {public static void main(String[] args) {List arrayList = new ArrayList();//习惯用多态arrayList.add(13);arrayList.add(14);arrayList.add(false);arrayList.add("wo");arrayList.add(13.14);arrayList.add(14);/*** 根据指定元素删除时,除了整数需要装箱为包装类才能删除,其余类型可以直接输入元素值进行删除* 因为默认整数删除是删除指定索引对应的元素数据*/Integer nummber = Integer.valueOf(14);arrayList.remove(nummber);//有相同的值,删除第一个arrayList.remove("wo");System.

相关文章:

集合框架——常用类

集合框架的理解 就是一个常用类 集合主要有三种类型【集合与集合之间可以互转】 List(列表,是接口)Set(集合,是接口)Map(键值对,是接口)Collection是以上及所有集合的根接口,其里面的子类,一部分支持集合有序元素可重复,一部分支持集合无序元素不重复 可重复和不…...

【NLP 面经 7、常见transformer面试题】

目录 1. 为何使用多头注意力机制&#xff1f; 2. Q和K使用不同权重矩阵的原因 3. 选择点乘而非加法的原因 4. Attention进行scaled的原因 5. 对padding做mask操作 6. 多头注意力降维原因 7. Transformer Encoder模块简介 8. 乘以embedding size的开方的意义 9. 位置编码 10. 其…...

分布式事务解决方案全解析:从经典模式到现代实践

前言 在分布式系统中&#xff0c;数据一致性是一个核心问题。随着微服务架构的普及&#xff0c;跨服务、跨数据库的操作变得越来越普遍&#xff0c;如何保证这些操作的原子性、一致性、隔离性和持久性&#xff08;ACID&#xff09;成为了一个极具挑战性的任务。本文将全面介绍…...

软件工程面试题(二十七)

1、j a v a 对象初始化顺序 1.类的初始化(initialization class & interface) 2.对象的创建(creation of new class instances) 顺序:应为类的加载肯定是第一步的,所以类的初始化在前。大体的初始化顺序是: 类初始化 -> 子类构造函数 -> 父类构造函数 -&g…...

fastGPT—nextjs—mongoose—团队管理之部门相关api接口实现

创建部门或者子部门 import type { NextApiRequest, NextApiResponse } from next; import { NextAPI } from /service/middleware/entry; import { MongoOrgModel } from fastgpt/service/support/permission/org/orgSchema;async function handler(req: NextApiRequest, res…...

C++ 数据竞态检查

-fsanitizethread 编译时&#xff0c;添加参数-fsanitizethread -g&#xff0c;可以运行态检查数据竞态问题&#xff0c;包括&#xff1a; 数据竞态死锁锁、条件变量错误使用 check_tsan 开源库 yalantinglibs有段检查编译器是否支持 fsanitize 编译参数的宏&#xff0c;挺…...

逛好公园的好处

逛公园和软件开发看似是两个不同的活动&#xff0c;但它们之间存在一些有趣的关联和相互促进的关系&#xff1a; 激发创造力&#xff1a;公园中的自然景观、多样的人群以及各种活动能为开发者带来新的灵感和创意。软件开发过程中&#xff0c;从公园中获得的创意可以帮助开发者设…...

C++开发工具全景指南

专业编译与调试工具深度解析 2025年4月 编译器套件 GNU Compiler Collection (GCC) GNU编译器套件是自由软件基金会开发的跨平台编译器系统&#xff0c;支持C、C、Objective-C、Fortran、Ada等多种编程语言。作为Linux系统的标准编译器&#xff0c;GCC以其强大的优化能力和…...

【网络安全】 防火墙技术

防火墙是网络安全防御的重要组成部分&#xff0c;它的主要任务是阻止或限制不安全的网络通信。在这篇文章中&#xff0c;我们将详细介绍防火墙的工作原理&#xff0c;类型以及如何配置和使用防火墙。我们将尽可能使用简单的语言和实例&#xff0c;以便于初学者理解。 一、什么…...

文档的预解析

1. 预解析的核心目标 浏览器在正式解析&#xff08;Parsing&#xff09;HTML 前&#xff0c;会启动一个轻量级的 预解析器&#xff08;Pre-Parser&#xff09;&#xff0c;快速扫描文档内容&#xff0c;实现&#xff1a; 提前发现并加载关键资源&#xff08;如 CSS、JavaScrip…...

理解“功能内聚”

链接&#xff1a; 理解“偶然内聚” 理解“逻辑内聚” 理解“时间内聚” 理解“过程内聚” 理解“通信内聚” 理解“顺序内聚” 理解“功能内聚” 功能内聚&#xff08;Functional Cohesion&#xff09;是最高级别的内聚形式&#xff0c;指的是模块内的所有元素都紧密地围绕着一…...

windows 常用命令总结

工作中用到的 Linux 总结&#xff08;持续更新中...&#xff09;_linux工作经验-CSDN博客 PS&#xff1a; 推荐使用 powershell 而不是 cmd&#xff0c;因为PowerShell 是一个更先进和功能更强大的工具&#xff08; powershell 有命令记忆功能&#xff0c;比较方便&#xff09…...

记一次表格数据排序优化(一)--排序30000条数据有多卡

目录 需求 第一次尝试 运行环境 思路 存储 排序 触发排序操作 如何实现高效的排序 关键1 关键2 关键3 磨刀不误砍柴工 关键4 代码 效果 卡顿原因分析 原因1 原因2 第二次尝试 需求 1 我的qt程序通过表格显示30000条数据。数据来自udp&#xff0c;udp每隔10秒…...

图形渲染中的定点数和浮点数

三种API的NDC区别 NDC全称&#xff0c;Normalized Device Coordinates Metal、Vulkan、OpenGL的区别如下&#xff1a; featureOpenGL NDCMetal NDCVulkan NDC坐标系右手左手右手z值范围[-1,1][0,1][0,1]xy视口范围[-1,1][-1,1][-1,1] GPU渲染的定点数和浮点数 定点数类型&a…...

【深度学习】CNN简述

文章目录 一、卷积神经网络&#xff08;CNN&#xff09;二、CNN结构特性1. CNN 典型结构2. 局部连接3. 权重共享4.空间或时间上的次采样 三、理解层面 一、卷积神经网络&#xff08;CNN&#xff09; 卷积神经网络(Convolutional Neural Network&#xff0c;CNN)是一种用于处理…...

强化学习课程:stanford_cs234 学习笔记(3)introduction to RL

文章目录 前言7 markov 实践7.1 markov 过程再叙7.2 markov 奖励过程 MRP&#xff08;markov reward process&#xff09;7.3 markov 价值函数与贝尔曼方程7.4 markov 决策过程MDP&#xff08;markov decision process&#xff09;的 状态价值函数7.4.1 状态价值函数7.4.2 状态…...

紫檀博物馆一游与软件开发

今天去逛了中国紫檀博物馆&#xff0c;里边很多层展品&#xff0c;也有一些清代的古物&#xff0c;檀木&#xff0c;黄花梨木家具和各种摆件&#xff0c;馆主陈丽华女士也是发心复原、保留和弘扬中国的传统文化&#xff0c;和西游记唐僧扮演者迟成瑞先生一家。 每一件展品都精…...

RocketMQ初认识

ProducerCustomerNameServer: Broker的注册服务发现中心BrokerServer:主要负责消息的存储、投递和查询以及服务高可用保证 RocketMQ的集群部署&#xff1a; 单个master的分支多个Master 模式&#xff1a;集群中有多个 Master 节点&#xff0c;彼此之间相互独立。生产者可以将消…...

第十三章:持久化存储_《凤凰架构:构建可靠的大型分布式系统》

第十三章 持久化存储 一、Kubernetes存储设计核心概念 &#xff08;1&#xff09;存储抽象模型 PersistentVolume (PV)&#xff1a;集群级别的存储资源抽象&#xff08;如NFS卷/云存储盘&#xff09;PersistentVolumeClaim (PVC)&#xff1a;用户对存储资源的声明请求&#…...

Chrome开发者工具实战:调试三剑客

在前端开发的世界里&#xff0c;Chrome开发者工具就是我们的瑞士军刀&#xff0c;它集成了各种强大的功能&#xff0c;帮助我们快速定位和解决代码中的问题。今天&#xff0c;就让我们一起来看看如何使用Chrome开发者工具中的“调试三剑客”&#xff1a;断点调试、调用栈跟踪和…...

教程:如何使用 JSON 合并脚本

目录 1. 介绍 2. 使用方法 3. 注意事项 4. 示例 5.完整代码 1. 介绍 该脚本用于将多个 COCO 格式的 JSON 标注文件合并为一个 JSON 文件。COCO 格式常用于目标检测和图像分割任务&#xff0c;包含以下三个主要部分&#xff1a; "images"&#xff1a;图像信息&a…...

C++/Qt 模拟sensornetwork的工作

C/Qt 可视化模拟sensornetwork的工作 C/Qt 模拟sensornetwork的工作 C/Qt 可视化模拟sensornetwork的工作内容简介&#xff08;一&#xff09; 需求和规格说明&#xff08;1&#xff09;问题描述&#xff08;2&#xff09;设计目的&#xff08;3&#xff09;基本要求&#xff0…...

ffmpeg音频分析

对一个16k 单声道音频&#xff0c;生成频谱图 ./ffmpeg -i input.wav -lavfi "showspectrumpics800x400:modecombined:scalelin:gain1.5" spectrum.png...

【多线程】CAS机制

目录 一. CAS的概念 二. CAS的原理 三.标准库中的CAS 四. CAS的应用 &#xff08;1&#xff09;原子类的使用 &#xff08;2&#xff09; 自旋锁的实现 五. CAS的ABA问题 一. CAS的概念 CAS&#xff08;Compare And Swap&#xff09;机制是一种无锁的并发控制技术&#…...

音视频(四)android编译

前言 前面已经讲了在windows上应用了&#xff0c;这章主要讲述android上编译 1&#xff1a;环境 git 如果失败 直接跑到相应网站 手动下载 ubuntu22.* android ndk r21e download:https://developer.android.google.cn/ndk/downloads/index.html?hluk 为什么用这个&#xff0…...

Chapter07_图像压缩编码

文章目录 图像压缩编码图像压缩编码基础图像压缩的基本概念信息相关信息冗余信源编码及其分类 图像编码模型信源编码器模型信源解码器模型 数字图像的信息熵信源符号码字平均长度信息熵信息量 变长编码费诺码霍夫曼编码 位平面编码格雷码 图像压缩编码 数字图像的压缩是指在满…...

团体设计程序天梯赛L2-025 # 分而治之

文章目录 题目解读输入格式输出格式 思路Ac Code参考 题目解读 在战争中&#xff0c;我们希望首先攻下敌方的部分城市&#xff0c;使其剩余的城市变成孤立无援&#xff0c;然后再分头各个击破。为此参谋部提供了若干打击方案。本题就请你编写程序&#xff0c;判断每个方案的可…...

Linux网络套接字

Socket 编程 UDP 本章将函数介绍和代码编写实战一起使用。 IPv4 的 socket 网络编程,sockaddr_in 中的成员 struct in_addr.sin_addr 表示 32 位 的 IP 地址 但是我们通常用点分十进制的字符串表示 IP 地址,以下函数可以在字符串表示和in_addr 表示之间转换; 字符串转 in_addr…...

看爬山虎学本领 软爬机器人来创新 各种场景能适应

*本文只做阅读笔记分享* 一、灵感来源&#xff1a;向植物取经 大家好&#xff01;今天来聊一款超酷的软爬机器人&#xff0c;它的灵感来自会攀爬的植物——爬山虎。 大家都知道&#xff0c;爬墙高手爬山虎能在各种复杂墙面轻松生长攀爬&#xff0c;可现有的攀爬机器人在复杂…...

1-Docker安装

1.准备环境 1.第一步&#xff1a;创建以自己的姓名全拼的用户名 [roothadoop ~]# useradd qiwenyong [roothadoop ~]# passwd qiwenyong Changing password for user qiwenyong. New password: BAD PASSWORD: The password is shorter than 7 characters Retype new passwor…...