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

Java入门基础学习笔记47——ArrayList

什么是集合呢?

集合是一种容器,用来装数据的,类似数组。

有数组,为什么还要学习集合呢?

数组定义完成并启动后,长度就固定了。

而集合是大小可变,开发中用的最多的。

集合的特点:大小可变,类型可以不固定,功能更加强大,适合做元素个数不能确定,同时存在增删改查的操作场景。

集合的种类非常多:

ArrayList该如何学呢?

1、会提供创建容器对象的方式;

2、会提供相应的方法对容器进行操作;

就是增删改查:

添加数据

删除某个数据

修改某个数据

获取某个数据

那么,1、创建对象; 2、增删改查的方法; 3、容器的其他特点

编程的时候使用第一个无参数构造器。

泛型:集合都是支持泛型的,约束集合在编译阶段只能操作某种数据类型。

注意:集合和泛型都不支持基本数据类型,只能支持引用数据类型。

注意:以后定义集合都应该支持泛型。

我的集合就是要什么都存:推荐这么写:

ArrayList<Object> list = new ArrayList();

ArrayList<E>

是用的最多的、最常见的一种集合。

代码:

package cn.ensource.arraylist;import java.util.ArrayList;/*** 目标:要求同学们掌握如何创建ArrayList集合的对象,并熟悉ArrayList提供的常用方法*/public class ArrayListDemo1 {public static void main(String[] args) {// 1. 创建ArrayList集合对象ArrayList list =  new ArrayList();list.add("黑马");list.add(1);list.add(99.5);list.add("黑马");list.add("Java");System.out.println(list);}
}

运行结果:

打印容器的地址,而是直接去打印容器里的内容。

让集合约束存储的类型,只能存储某种类型的数据,这就是泛型:

package cn.ensource.arraylist;import java.util.ArrayList;/*** 目标:要求同学们掌握如何创建ArrayList集合的对象,并熟悉ArrayList提供的常用方法*/public class ArrayListDemo1 {public static void main(String[] args) {// 1. 创建ArrayList集合对象
//        ArrayList<String> list =  new ArrayList<String>();// 从jdk1.7开始支持的写法:ArrayList<String> list = new ArrayList<>();list.add("黑马");
//        list.add(1);
//        list.add(99.5);list.add("黑马");list.add("Java");System.out.println(list);}
}

ArrayList的常用方法示例:

package cn.ensource.arraylist;import java.util.ArrayList;/*** 目标:要求同学们掌握如何创建ArrayList集合的对象,并熟悉ArrayList提供的常用方法*/public class ArrayListDemo1 {public static void main(String[] args) {// 1. 创建ArrayList集合对象
//        ArrayList<String> list =  new ArrayList<String>();// 从jdk1.7开始支持的写法:ArrayList<String> list = new ArrayList<>();list.add("黑马");
//        list.add(1);
//        list.add(99.5);list.add("黑马");list.add("Java");System.out.println(list);// 2. 往集合中的某个索引位置处添加一个数据list.add(1, "MySQL");System.out.println(list);// 3. 获取某个索引位置的元素值String rs = list.get(1);System.out.println(rs);// 4. 返回集合的元素个数System.out.println(list.size());// 5. 删除指定索引处的元素,返回被删除的元素String rs2 = list.remove(1);System.out.println(rs2);System.out.println(list);// 6. 删除指定的元素,返回删除是否成功Boolean rs3 = list.remove("Java");System.out.println(rs3);System.out.println(list);// 添加一个数据list.add(1, "HTML");System.out.println(list);// 7. 如果删除黑马,则删除第一次出现的黑马被删除System.out.println(list.remove("黑马"));   // true 删除成功System.out.println(list);     // 第二个黑马没有被删除// 8. set方法,把某个索引的值进行替换list.set(0, "CentOS");     // 将HTML替换成CentOSString rs5 = list.set(1, "黑马程序员");System.out.println(rs5);      // 打印被修改的元素System.out.println(list);}
}

再次说明:

==:

比较基本数据类型:比较具体的值。

比较引用数据类型:比较的是对象地址值。

equals:比较对象内容

equalsIgnoreCase: 比较内容忽略大小写

另外:

注意:集合容器中存储的是每个对象的什么东西?在堆内存中的地址。

http://www.lryc.cn/news/352148.html

相关文章:

  • 案例题(第二版)
  • 基于python向量机算法的数据分析与预测
  • 传输层 --- UDP
  • 图书管理系统(Java版本)
  • 全同态加密生态项目盘点:FHE技术的崛起以及应用
  • 山脉数组的峰顶索引 ---- 二分查找
  • 【简单介绍下7-Zip,什么是7-Zip?】
  • SCSS基本使用:构建高效、可维护的CSS架构
  • allegro 无法删除Xnet
  • 2024年甘肃特岗教师招聘报名流程,速速查收哦!
  • 【错误解决】使用HuggingFaceInstructEmbeddings时的一个错误
  • C++中的四种类型转换运算符
  • k8s 1.28.10 浏览器访问6443查看api,需要证书
  • 新火种AI|复旦团队在“冷冻人脑”领域获得重大进展!人工智能是否会对此形成助力?
  • echarts 散点图修改散点图中图形形状颜色大小
  • SpringBoot3.x + JDK21 整合 Mybatis-Plus
  • Java类和对象(五)—— 抽象类、接口、Object类和内部类
  • 图像上下文学习|多模态基础模型中的多镜头情境学习
  • 汇编:函数以及函数参数传递
  • linux-ftp服务器搭建简介
  • 二十一、openlayers官网示例Custom Controls解析——自定义控件扩展Control类
  • 【博主推荐】HTML5实现520表白、情人节表白模板源码
  • 【YOLOv5/v7改进系列】替换激活函数为SiLU、ReLU、LeakyReLU、FReLU、PReLU、Hardswish、Mish、ELU等
  • 修改MySQL root用户密码
  • 力扣刷题---409. 最长回文串【简单】
  • 百度智能云参与信通院多项边缘计算标准编制,「大模型时代下云边端协同 AI 发展研讨会」成功召开
  • 前后端联调
  • 根据配置的mode环境显示不同的index模板
  • hls.js实现分片播放视频
  • K8s 运维架构师实战课程