首页 > 编程语言 >#Java-集合基础-ArrayList

#Java-集合基础-ArrayList

时间:2024-11-04 22:45:59浏览次数:6  
标签:Java int ArrayList list add 集合 new

1.为什么使用集合

集合是用来存储多个元素的,但是数组也同样可以实现多元素的存储

为什么要用集合?

  • 数组的长度固定,当数组满之后无法再添加元素
  • 集合的长度跟随元素的数量自动变化,长度等于元素个数

数组和集合还有存储数据类型方面的区别:

  • 数组可以存储基本数据类型和引用数据类型
    //存整型
    int[] arr1 = new int[3];
    //创建了User类
    User u1 = new User("波妞",23)
    User u2 = new User("宗介",23)
    User[] userArr = new User[2];
    userArr[0] = u1;
    userArr[1] = u2;
    
  • 集合只能存储引用类型,如果要存基本数据类型需要使用包装类

a. ArrayList

再Java中有很多的集合类,我们现学习常用的ArrayList
创建一个ArrayLIst集合:

//JDK7之前
ArrayList<String> list = new ArrayList<String>();
//JDK7之后
ArrayList<String> list = new ArrayList();

和数组类似,集合也需要规定存储的数据类型

  • 数组使用int[] arr = new int[]
  • 集合ArrayList<String> list = new ArrayList();,在ArrayList后跟上泛型<引用数据类型>即可

泛型:用来限定存储的数据的类型

同时,由于Array List是Java提供的类,Java会进行一些处理:

  1. 当打印ArrayLIst的对象时,打印的不是地址值,而是存储的数据
  2. 存储的数据在打印的时候会使用[]进行包裹

示例:

 public static void main(String[] args) {
        ArrayList<String> lsit = new ArrayList<>();
        lsit.add("aaa");
        lsit.add("bbb");
        lsit.add("ccc");
        //遍历
        String result = "[";
        for (int i = 0; i < lsit.size(); i++) {
            if (i == lsit.size() - 1)
                result += lsit.get(i);
            else
                result = result + lsit.get(i) + ", ";
        }
        result += ']';
        System.out.println(result);
        System.out.println(lsit);
    }

这是一个遍历集合的案例,在最后打印了遍历的结果和list对象,结果为:
在这里插入图片描述
可以看到对于String类,Java在输出的时候是做了处理的

b. 成员方法

方法名(完整名)说明
boolean add(E e)添加元素,返回boolean类型
boolean remove(E e)删除指定元素,返回值表示是否删除成功
E remove(int index)删除指定索引的元素,返回被删除元素
E set(int index,E e)修改指定索引下的元素,返回原来的元素
E get(int index)获取指定索引的元素
int size()集合的长度,也就是集合中元素的个数
  • E指的是指定的引用数据类型
  • 和数组类似,集合也使用索引来指定元素
ArrayList<String> list = new ArrayList();
//添加
list.add("aaa");
list.add("bbb");
//删除
list.remove("aaa");//ture
list.remove("ddd");//false
// 我们也可以使用boolean类型的变量接收
boolean result = list.remove("bbb");//ture

其他的方法使用同上相似,就不再赘述

c. 包装类

包装类
intInteger
charCharacter
byteByte
shortShort
longLong
floatFloat
booleanBoolean

除了int,char类型的包装类书写有变化,其他的类型只需要把首字母大写即可

示例:

//Integer
ArrayList<Integer> list = new ArryList<>();
list.add(1);
list.add(2);
//Character
ArrayList<Character> list2 = new ArryList<>();
list2.add('a');
list2.add('b');

集合的基础操作到这里就结束啦


标签:Java,int,ArrayList,list,add,集合,new
From: https://blog.csdn.net/2302_80203877/article/details/143475335

相关文章

  • java实现“数据平滑升级”
    @目录一、摘要二、前提场景说明:三、项目用到的脚本和代码1.项目目录长这样2.java代码、配置文件、部分脚本3.升级包中的部分文件一、摘要所谓的数据平滑升级:指的是比如旧的系统代码咱称之为V4.6版本,V4.6涉及的部分库表字段只有5个字段,而新版本V4.7部分表字段有10个字段,所谓的......
  • Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
    @目录一、业务背景二、实现思路二、准备工作1.准备data模板.xlsx2.引入poi相关依赖,用于操作excel3.针对WorkBook+ZIP压缩输入/输出流,相关方法知识点要有所了解三、完整的项目代码四、可能遇到的问题错误场景1:java.io.IOException:Streamclosed错误场景2:调用接口没有另存为弹窗,......
  • Java面试题中高级进阶(JVM篇)
    前言本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!什么是StopTheWorld?什么是OopMap?说一下JVM的主要组成部分及其作用?什么是指针碰撞?什么是空闲列表?什么是TLAB?似乎有点模糊了,那就大概看一下面试题吧。好记性不如烂键盘***12万字的java面试题整理***什么是StopT......
  • 计算机毕业设计java基于springboot的网上书店系统
    文章目录项目介绍技术介绍功能介绍核心代码数据库参考系统效果图项目介绍  本文致力于探讨基于SpringBoot框架的网上书店系统的全面设计与实现。随着网络技术的迅猛发展,网上书店作为一种便捷的购书方式受到了广泛关注。为了满足用户对于购书的需求,本文首先从用......
  • 2024/11/4日 日志 关于JavaScript 变量、数据类型、类型转换和流程控制语句的学习
    经过两天的休憩,状态更佳,后面的笔记和学习进度也会加快JavaScript变量、数据类型、类型转换和流程控制语句点击查看代码----变量--JavaScript中用var关键字(variable的缩写)来声明变量--vartest=20;--test="张三":--·JavaScript是一门弱类型语言变量可......
  • Java经典案例代码(持续更新中...)
        2024/11/4目录一、找素数①方法一②方法二二、打印九九乘法表三、打印三角形四、双色球系统一、找素数①方法一publicclassTest07{publicstaticvoidmain(String[]args){System.out.println(Find(101,200));}publicstat......
  • 初始JavaEE篇 —— 文件操作与IO
    找往期文章包括但不限于本期文章中不懂的知识点:个人主页:我要学编程程(ಥ_ಥ)-CSDN博客所属专栏:JavaEE目录文件介绍 Java标准库中提供操作文件的类文件系统操作File类的介绍File类的使用 文件内容操作二进制文件的读写操作文本文件的读写操作文件介绍 文件......
  • Java毕设项目案例实战II基于Java+Spring Boot+Mysql的果蔬作物疾病防治系统的设计与实
    目录一、前言二、技术介绍三、系统实现四、核心代码五、源码获取全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末一、前言随着现代农业的快速发展,果蔬作物的健康生长与高效管理......
  • Java毕设项目案例实战II基于Java+Spring Boot+Mysql的公司资产网站设计与实现(开发文档
    目录一、前言二、技术介绍三、系统实现四、核心代码五、源码获取全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末一、前言在当今信息化高速发展的时代,企业资产的高效管理和精确......