集合java
1.集合
ArrayList



集合和数组的优势对比:
长度可变
添加数据的时候不需要考虑索引,默认将数据添加到末尾

package com.itheima;import java.util.ArrayList;/*public boolean add(要添加的元素) | 将指定的元素追加到此集合的末尾 |
| public boolean remove(要删除的元素) | 删除指定元素,返回值表示是否删除成功
| public E remove(int index) | 删除指定索引处的元素,返回被删除的元素
| public E set(int index,E element) | 修改指定索引处的元素,返回被修改的元素
| public E get(int index) | 返回指定索引处的元素
| public int size() | 返回集合中的元素的个数*/
public class ArrayListDemo2 {public static void main(String[] args) {//1.创建一个集合对象ArrayList<String> list = new ArrayList<String>();//2.添加元素list.add("aaa");list.add("bbb");list.add("ccc");list.add("ddd");//3.删除元素boolean result = list.remove("aaa");System.out.println(list);//删除失败返回flast//根据索引删除元素,返回被删除的元素String str = list.remove(2);System.out.println(str);System.out.println(list);//4.修该元素String str2 = list.set(0, "aaa");System.out.println(str2);//返回被覆盖的元素System.out.println(list);//5.查寻元素String str3 = list.get(0);System.out.println(str3);//返回指定索引处的元素System.out.println(list);//6.遍历集合for (int i = 0; i < list.size(); i++) {//list.get(i)元素System.out.println(list.get(i));}}
}

package com.itheima;
import java.util.ArrayList;
import java.util.List;
//定义一个方法,讲价格低于3000的手机信息打印出啦
public class PhoneTest {public static void main(String[] args) {//1.创建集合ArrayList<Phone> list = new ArrayList<Phone>();//2.创建对象Phone p1 = new Phone("苹果",1000);Phone p2 = new Phone("小米",2200);Phone p3 = new Phone("锤子",3200);//3.添加数据list.add(p1);list.add(p2);list.add(p3);//4.调用方法ArrayList<Phone> phoneInfolist = getPhoneInfo(list);//5.遍历集合for (int i = 0; i < phoneInfolist.size(); i++) {Phone p = phoneInfolist.get(i);System.out.println(p.getBrand()+" "+p.getPrice());}}//如果说我们要返回多个数据,可以把这些数据先放到一个容器当中,再把容器返回//集合,数组public static ArrayList<Phone> getPhoneInfo( ArrayList<Phone> list ) {ArrayList<Phone> resultlist=new ArrayList<>();for (int i = 0; i < list.size(); i++) {Phone p = list.get(i);int price = p.getPrice();if(price<3000){resultlist.add(p);//手机对象p存再集合resultlist里}}return resultlist;}
}

package com.itheima;
import java.util.ArrayList;public class ArrayListDemo7Case {public static void main(String[] args) {//1.创建集合ArrayList<User> list = new ArrayList<User>();//2.创建三个用户对象User u1=new User("001","zhngsan","123");User u2=new User("002","li","456");User u3=new User("003","zhngsan","789");//3.添加元素list.add(u1);list.add(u2);list.add(u3);//4.调用方法看id是否存在int flag = contains(list, "002");if(flag>=0){User u = list.get(flag);System.out.println(u.getId());}else{System.out.println("不存在");}}public static int contains(ArrayList<User> list,String id){for (int i = 0; i < list.size(); i++) {if(list.get(i).getId().equals(id)){return i;}}return -1;}
}

package com.itheima;import java.util.ArrayList;
import java.util.Scanner;public class ArrayListDemo6 {public static void main(String[] args) {//1.创建集合ArrayList<Student> list=new ArrayList<>();//长度为0//2.键盘录入学生的信息并添加到集合当中Scanner sc=new Scanner(System.in);for(int i=0;i<3;i++){Student s=new Student();System.out.println("请输入学生姓名");String name=sc.next();System.out.println("请输入学生的年龄");int age=sc.nextInt();//把name和age赋值给学生对象s.setName(name);s.setAge(age);//把学生对象添加在集合中list.add(s);}//遍历集合for (int i = 0; i < list.size(); i++) {Student stu=list.get(i);System.out.println(stu.getName()+" "+stu.getAge());}}
}
/如果说我们要返回多个数据,可以把这些数据先放到一个容器当中,再把容器返回
//集合,数组
package com.itheima;
import java.util.ArrayList;
import java.util.List;
//定义一个方法,讲价格低于3000的手机信息打印出啦
public class PhoneTest {public static void main(String[] args) {//1.创建集合ArrayList<Phone> list = new ArrayList<Phone>();//2.创建对象Phone p1 = new Phone("苹果",1000);Phone p2 = new Phone("小米",2200);Phone p3 = new Phone("锤子",3200);//3.添加数据list.add(p1);list.add(p2);list.add(p3);//4.调用方法ArrayList<Phone> phoneInfolist = getPhoneInfo(list);//5.遍历集合for (int i = 0; i < phoneInfolist.size(); i++) {Phone p = phoneInfolist.get(i);System.out.println(p.getBrand()+" "+p.getPrice());}}//如果说我们要返回多个数据,可以把这些数据先放到一个容器当中,再把容器返回//集合,数组public static ArrayList<Phone> getPhoneInfo( ArrayList<Phone> list ) {ArrayList<Phone> resultlist=new ArrayList<>();for (int i = 0; i < list.size(); i++) {Phone p = list.get(i);int price = p.getPrice();if(price<3000){//如果当前手机的价格低于3000,那么就把手机对象添加在resultlist当中resultlist.add(p);//手机对象p存再集合resultlist里}}return resultlist;}
}
相关文章:
集合java
1.集合 ArrayList 集合和数组的优势对比: 长度可变 添加数据的时候不需要考虑索引,默认将数据添加到末尾 package com.itheima;import java.util.ArrayList;/*public boolean add(要添加的元素) | 将指定的元素追加到此集合的末尾 | | p…...
智能体(Agent)实战——从gpts到auto gen
一.GPTs 智能体以大模型作为大脑,同时配备技能,使其能够完成具体的任务。同时,为了应用于垂直领域,我们需要为大模型定义一个角色,并构建知识库。最后,定义完整的流程,使其完成整个任务。以组会…...
PyTorch 张量数据类型
【数据类型】Python 与 PyTorch 常见数据类型对应: 用 a.type() 获取数据类型,用 isinstance(a, 目标类型) 进行类型合法化检测 >>> import torch >>> a torch.randn(2,3) >>> a tensor([[-1.7818, -0.2472, -2.0684],[ 0.…...
奇思妙想-可以通过图片闻见味道的设计
奇思妙想-可以通过图片闻见味道的设计 偷闲半日享清闲,炭火烧烤乐无边。肉串飘香引客至,笑语欢声绕云间。人生难得几回醉,且把烦恼抛九天。今宵共饮开怀酒,改日再战新篇章。周四的傍晚,难得的闲暇时光让我与几位挚友相…...
装饰者模式(设计模式)
装饰模式就是对一个类进行装饰,增强其方法行为,在装饰模式中,作为原来的这个类使用者还不应该感受到装饰前与装饰后有什么不同,否则就破坏了原有类的结构了,所以装饰器模式要做到对被装饰类的使用者透明,这…...
ADB调试命令大全
目录 前言命令大全1.显示当前运行的全部模拟器:adb devices2.启动ADB: adb start-server3.停止ADB: adb kill-server4.安装应用程序: adb install -r [apk文件]5.卸载应用程序: adb uninstall [packagename]6.将手机设备中的文件copy到本地计…...
查看npm版本异常,更新nvm版本解决问题
首先说说遇见的问题,基本上把nvm,npm的坑都排了一遍 nvm版本导致npm install报错 Unexpected token ‘.‘install和查看node版本都正确,结果查看npm版本时候报错 首先就是降低node版本… 可以说基本没用,如果要降低版本的话&…...
计算机行业
计算机行业环境分析 2022.01.12 计算机行业环境分析 计算机专业就业前景 随着科技的进步和信息事业的发展,尤其是计算机技术的发展与网络应用的逐渐普及。计算机已成为人们工作和生活中不可缺少的东西。IT行业迅猛发展,就业工作岗位也比比皆是。在最近…...
各种机器学习算法的应用场景分别是什么(比如朴素贝叶斯、决策树、K 近邻、SVM、逻辑回归最大熵模型)?
2023简直被人工智能相关话题席卷的一年。关于机器学习算法的热度,也再次飙升,网络上一些分享已经比较老了。那么今天借着查询和学习的机会,我也来浅浅分享下目前各种机器学习算法及其应用场景。 为了方便非专业的朋友阅读,我会从算…...
SQLite JDBC驱动程序
SQLite JDBC驱动程序下载地址: 下载地址...
Postgre 调优工具pgBadger部署
一,简介: pgBadger(日志分析器)类似于oracle的AWR报告(基于1小时,一天,一周,一月的报告),以图形化的方式帮助DBA更方便的找到隐含问题。 pgbadger是为了提高…...
【云原生】Kubernetes----Helm包管理器
目录 引言 一、Helm概述 1.Helm价值概述 2.Helm的基本概念 3.Helm名词介绍 二、安装Helm 1.下载二进制包 2.部署Helm环境 3.添加补全信息 三、使用Helm部署服务 1.创建chart 2.查看文件信息 3.安装chart 4.卸载chart 5.自定义chart服务部署 6.版本升级 7.版本…...
Bootstrap 5 进度条
Bootstrap 5 进度条 引言 Bootstrap 5 是目前最流行的前端框架之一,它提供了一套丰富的组件和工具,帮助开发者快速构建响应式、移动设备优先的网页。在本文中,我们将重点探讨 Bootstrap 5 中的进度条组件,包括其基本用法、定制选…...
MySQL查询数据库中所有表名表结构及注释以及生成数据库文档
MySQL查询数据库中所有表名表结构及注释 生成数据库文档在后面!!! select t.TABLE_COMMENT -- 数据表注释 , c.TABLE_NAME -- 表名称 , c.COLUMN_COMMENT -- 数据项 , c.COLUMN_NAME -- 英文名称 , -- 字段描述 , upper(c.DATA_TYPE) as …...
Redis缓存穿透、缓存雪崩和缓存击穿的解决方案
Redis缓存穿透、缓存雪崩和缓存击穿的解决方案 引言 Redis作为当前非常流行的内存数据结构存储系统,以其高性能和灵活性被广泛应用于缓存、消息队列、排行榜等多种场景。然而,在实际使用过程中,可能会遇到缓存穿透、缓存雪崩和缓存击穿等问…...
如何解决javadoc一直找不到路径的问题?
目录 一、什么是javadoc二、javadoc为什么会找不到路径三、如何解决javadoc一直找不到路径的问题 一、什么是javadoc Javadoc是一种用于生成Java源代码文档的工具,它可以帮助开发者生成易于阅读和理解的文档。Javadoc通过解析Java源代码中的注释,提取其…...
redis 笔记2之哨兵
文章目录 一、哨兵1.1 简介1.2 实操1.2.1 sentinel.conf1.2.2 问题1.2.3 哨兵执行流程和选举原理1.2.4 使用建议 一、哨兵 1.1 简介 上篇说了复制,有个缺点就是主机宕机之后,从机只会原地待命,并不能升级为主机,这就不能保证对外…...
LVS+Keepalived NGINX+Keepalived 高可用群集实战部署
Keepalived及其工作原理 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。 VRRP协议(虚拟路由冗余协议) 是针对路由器的一种备份解决方案由多台路由器组成一个热备组,通过共用的…...
Mybatis做批量操作
动态标签foreach,做过批量操作,但是foreach只能处理记录数不多的批量操作,数据量大了后,先不说效率,能不能成功操作都是问题,所以这里讲一讲Mybatis正确的批量操作方法: 在获取opensession对象…...
Python | 中心极限定理介绍及实现
统计学是数据科学项目的重要组成部分。每当我们想从数据集的样本中对数据集的总体进行任何推断,从数据集中收集信息,或者对数据集的参数进行任何假设时,我们都会使用统计工具。 中心极限定理 定义:中心极限定理,通俗…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
