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

集合ArrayList

黑马程序员Java的个人笔记 

BV17F411T7Ao

p111~p115

目录

集合存储数据类型的特点

创建对象

ArrayList 成员方法

.add 增加元素

.remove 删除元素

.set 修改元素

.get 查询元素

.size 获取长度

基本数据类型对应的包装类

Character 

练习

返回多个数据


 

集合存储数据类型的特点

创建对象

<>中后面写个泛型(不能是基本数据类型),表示存储数据的类型

// 创建集合的对象
ArrayList<String> list = new ArrayList<>();

ArrayList 成员方法

.add 增加元素

  • 在 ArrayList 中不管添加什么,都能添加成功
  • 因为不管添加什么,都返回 true,所以直接使用方法本身的添加功能就行了
import java.util.ArrayList;
public class Demo1 {public static void main(String[] args) {// 创建集合的对象ArrayList<String> list = new ArrayList<>();boolean res = list.add("add");System.out.println(res); // trueSystem.out.println(list); // [add]}
}
  •  直接使用方法添加
import java.util.ArrayList;
public class Demo1 {public static void main(String[] args) {// 创建集合的对象ArrayList<String> list = new ArrayList<>();list.add("aaa");list.add("bbb");list.add("ccc");list.add("ddd");System.out.println(list); // [aaa, bbb, ccc, ddd]}
}

.remove 删除元素

import java.util.ArrayList;
public class Demo1 {public static void main(String[] args) {// 创建集合的对象ArrayList<String> list = new ArrayList<>();list.add("aaa");list.add("bbb");list.add("ccc");list.add("ddd");System.out.println(list); // [aaa, bbb, ccc, ddd]// 直接删除元素list.remove("ddd");System.out.println(list); // [aaa, bbb, ccc]// 通过索引删除list.remove(1);System.out.println(list); // [aaa, ccc]}
}

.set 修改元素

import java.util.ArrayList;
public class Demo1 {public static void main(String[] args) {// 创建集合的对象ArrayList<String> list = new ArrayList<>();list.add("aaa");list.add("bbb");list.add("ccc");list.add("ddd");System.out.println(list); // [aaa, bbb, ccc, ddd]String res = list.set(1, "eee");System.out.println(res); // bbb,set方法会把被覆盖的元素返回System.out.println(list); // [aaa, eee, ccc, ddd]}
}

.get 查询元素

import java.util.ArrayList;
public class Demo1 {public static void main(String[] args) {// 创建集合的对象ArrayList<String> list = new ArrayList<>();list.add("aaa");list.add("bbb");list.add("ccc");list.add("ddd");System.out.println(list); // [aaa, bbb, ccc, ddd]// 查询元素String s = list.get(0);System.out.println(s); // aaa}
}

.size 获取长度

import java.util.ArrayList;
public class Demo1 {public static void main(String[] args) {// 创建集合的对象ArrayList<String> list = new ArrayList<>();list.add("aaa");list.add("bbb");list.add("ccc");list.add("ddd");System.out.println(list); // [aaa, bbb, ccc, ddd]// 获取长度 for (int i = 0; i < list.size(); i++) {String str = list.get(i);System.out.println(str); // 获取每个索引上的元素}}
}

基本数据类型对应的包装类

  • jdk5之后 int Integer 之间是可以互相转化的

Character 

import java.util.ArrayList;
public class Demo1 {public static void main(String[] args) {ArrayList<Character> list = new ArrayList<>();list.add('a');list.add('b');list.add('c');System.out.println(list); // [a, b, c]}
}

练习

返回多个数据

  • 返回多个数据,可以把这些数据先放到一个容器中(集合、数组),再把容器返回
// 没写javabean类
import java.util.ArrayList;public class phoneTest {public static void main(String[] args) {// 创建集合对象ArrayList<Phone> list = new ArrayList<>();// 创建手机对象Phone p1 = new Phone("小米", 1000);Phone p2 = new Phone("苹果", 8000);Phone p3 = new Phone("锤子", 2999);// 添加数据list.add(p1);list.add(p2);list.add(p3);// 调用方法ArrayList<Phone> phoneInfoList = getPhoneInfo(list);// 遍历集合for (int i = 0; i < phoneInfoList.size(); i++) {Phone phone = phoneInfoList.get(i);System.out.println(phone.getBrand() + ", " + phone.getPrice());}}public static ArrayList<Phone> getPhoneInfo(ArrayList<Phone> list){// 定义一个集合用于存储价格低于3000的手机对象ArrayList<Phone> resList = new ArrayList<>();// 遍历集合for(int i = 0; i < list.size(); i++){Phone p = list.get(i);int price = p.getPrice();// 如果当前手机的价格低于3000,把对象添加到resList中if(price < 3000){resList.add(p);}}return resList;}
}

相关文章:

集合ArrayList

黑马程序员Java的个人笔记 BV17F411T7Ao p111~p115 目录 集合存储数据类型的特点 创建对象 ArrayList 成员方法 .add 增加元素 .remove 删除元素 .set 修改元素 .get 查询元素 .size 获取长度 基本数据类型对应的包装类 Character 练习 返回多个数据 集合存储…...

C#怎么判断电脑是否联网

在 C# 中&#xff0c;可以通过几种方法检测计算机是否联网。以下是几种常用的方式&#xff1a; 1. 使用 System.Net.NetworkInformation.Ping 类 通过发送一个 Ping 请求到公共 DNS 服务器&#xff08;如 Google 的 DNS 8.8.8.8&#xff09;来检测是否联网。这是最常见的一种…...

软件体系结构复习-02 软件体系结构定位及构建

软件体系结构复习-02 软件体系结构定位及构建 原文链接&#xff1a;《软件体系结构复习-02 软件体系结构定位及构建》 目录 软件体系结构复习-02 软件体系结构定位及构建 1 什么是软件体系结构 2 软件生命周期中的软件体系结构 2.1 生命周期 2.2 定位与作用 1 规划和需求…...

鸿蒙获取 APP 信息及手机信息

前言&#xff1a;获取 APP 版本信息可以通过 bundleManager.getBundleInfoForSelfSync(bundleFlags) 去获取&#xff0c;获取手机信息可以通过 kit.BasicServicesKit 库去获取&#xff0c;以下是封装好的工具类。 import bundleManager from ohos.bundle.bundleManager; impo…...

Linux-V4L2摄像头应用编程

ALPHA/Mini I.MX6U 开发板配套支持多种不同的摄像头&#xff0c;包括正点原子的 ov5640&#xff08;500W像素&#xff09;、 ov2640&#xff08;200W 像素&#xff09;以及 ov7725&#xff08;不带 FIFO、30W 像素&#xff09;这三款摄像头&#xff0c;在开发板出厂系统上&…...

掌握谈判技巧,达成双赢协议

在当今竞争激烈且合作频繁的社会环境中&#xff0c;谈判成为了我们解决分歧、谋求共同发展的重要手段。无论是商业合作、职场交流&#xff0c;还是国际事务协商&#xff0c;掌握谈判技巧以达成双赢协议都具有极其关键的意义。它不仅能够让各方在利益分配上找到平衡点&#xff0…...

Mysql - 存储引擎

一 MYSQL体系结构简介 MYSQL的体系结构可以分为四个层级&#xff0c;从上往下依次为&#xff1a; 1. 连接层: 最上层为客户端以及一些连接服务&#xff0c;包含连接操作&#xff0c;例如JAVA想要与MYSQL建立连接就需要用到JDBC&#xff0c;PHP语言与Python也可以连接到MYSQL&am…...

借助 CC-Link IE FB 转 Profinet 网关实现西门子 PLC 接入三菱 PLC 系统的解决策略

我们公司自动化生产线上&#xff0c;原有的控制系统采用三菱 PLC 通过 CC-Link IEFB 网络进行通信和控制。后来随着企业生产规模的扩大和对自动化系统集成度要求的提高&#xff0c;需要将部分设备与新引入的西门子 PLC 控制系统相连接&#xff0c;而西门子 PLC 使用 ProfiNet 协…...

未完成_RFdiffusion应用案例_从头设计pMHC的结合剂

目录 1. 论文导读1&#xff09;摘要2&#xff09;设计流程3&#xff09;设计流程的验证 2. 实战 1. 论文导读 Liu, Bingxu, et al. “Design of high specificity binders for peptide-MHC-I complexes.” bioRxiv (2024): 2024-11. 1&#xff09;摘要 MHC-I 将胞内抗原肽递呈…...

python使用h5py保存数据

python使用h5py保存使用 1、导入库 pip install h5py 2、简介 HDF5(Hierarchical Data Format version 5)是一种可用于存储大量科学数据的文件格式。 支持层次化的数据组织,可以将数据分为多个组(group)和数据集(dataset)。 支持多种数据类型,包括整数、浮点数、字…...

ubuntu24.04利用selenium控制浏览器的方法

ubuntu24.04利用selenium控制浏览器的方法 1.安装selenium sudo apt install python3-selenium2.下载chromedriver 下载地址1 下载地址2 在上面两个地址中挑选自己的版本号 下载chromedriver的时候一定要跟自己浏览器的版本相对应&#xff0c;笔者采用的是版本 131.0.6778.1…...

Thonny IDE + MicroPython + ESP32 + 0.96寸OLED(IIC) 显示任意字符

四针脚0.96英寸OLED显示屏模块的具体参数如下表所示。 参数名称 参数特性 分辨率 128x64像素 通信方式 IIC 驱动芯片 SSD1306 屏幕颜色 白色、蓝色或黄蓝双色 元件&#xff1a; 四针脚0.96英寸OLED显示屏模块 ESP32 DEVKIT_C开发板 杜邦线USB Type-C 接线&#xf…...

centos7 扩容

首先关闭虚拟机设置一下磁盘 lsblk查看磁盘 空间 可以看到想要扩容的是sda2 只有19.7G sudo fdisk -l查看sda2 的起始扇区 sudo fdisk /dev/sda更改磁盘依次输入&#xff1a; sudo pvresize /dev/sda2sudo xfs_growfs /...

FreeRTOS实现UART通信

串口通信 速战速决形式&#xff0c;大家走一遍就通&#xff1b; 本次实验验证&#xff1a; 配置文件 4、打开CubeMX 5、选择芯片型号&#xff0c;然后点击开始项目 6、配置时钟 配置烧录引脚&#xff0c;与FreeRTOS系统时钟 选择FreeRTOS 这里已经默认有一个任务&…...

【从CURD到全栈成长】Java后端如何提升自己?

全文目录&#xff1a; 开篇语前言 &#x1f31f;&#x1f4dc; 目录1. 为什么CRUD不等于后端开发&#xff1f; &#x1f914;2. 技能进阶&#xff1a;从CRUD走向设计与架构 &#x1f6e0;️2.1 了解MVC与三层架构2.2 理解设计模式2.3 学习微服务架构 3. 深挖Java核心&#xff1…...

动态计算加载图片

学习啦 别名路径&#xff1a;①npm install path --save-dev②配置 // vite.config,js import { defineConfig } from vite import vue from vitejs/plugin-vueimport { viteStaticCopy } from vite-plugin-static-copy import path from path export default defineConfig({re…...

利用R包QstFstComp包进行Qst-Fst分析

1.Qst-Fst分析 安装和加载QstFstComp包 首先&#xff0c;你需要安装devtools包&#xff0c;如果尚未安装&#xff0c;可以使用以下命令安装&#xff1a; install.packages("devtools") 2. 然后&#xff0c;使用devtools安装QstFstComp包&#xff1a;R library(de…...

ASP.NET Core8.0学习笔记(二十五)——EF Core Include导航数据加载之预加载与过滤

一、导航属性数据加载 1.在EF Core中可以使用导航属性来加载相关实体。 2.加载实体的三种方式&#xff1a; (1)预先加载&#xff1a;直接在查询主体时就把对应的依赖实体查出来&#xff08;作为初始查询的一部分&#xff09; (2)显式加载&#xff1a;使用代码指示稍后显式的从…...

ubuntu常用的设置

目录 1.设置vim的tab键为4个空格2.设置git提交时自动将Tab转换为空格 1.设置vim的tab键为4个空格 set tabstop4 set shiftwidth4 set expandtab tabstop设置Tab键为4个字符宽&#xff0c;shiftwidth设置自动缩进时的宽度也为4&#xff0c;expandtab表示将Tab转换为等量的空格。…...

基于框架的逻辑回归:原理、实现与应用

目录 ​编辑 逻辑回归原理 损失函数与优化 正则化 基于框架的实现 1. 数据预处理 2. 模型初始化与训练 3. 模型评估与调优 4. 特征缩放 逻辑回归的应用 信用评分 医疗诊断 垃圾邮件识别 推荐系统 结论 在机器学习领域&#xff0c;逻辑回归是一种基础且强大的分类…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

从物理机到云原生:全面解析计算虚拟化技术的演进与应用

前言&#xff1a;我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM&#xff08;Java Virtual Machine&#xff09;让"一次编写&#xff0c;到处运行"成为可能。这个软件层面的虚拟化让我着迷&#xff0c;但直到后来接触VMware和Doc…...