首页 > 其他分享 >Day30:ArrayList详解

Day30:ArrayList详解

时间:2022-12-03 20:34:29浏览次数:42  
标签:ArrayList System Day30 add 详解 println public out

ArrayList

1.1 集合概述

当我们要存储多个数据时,固定长度的数组存储格式已经满足不了我们的需要了,且不能满足变化的需求;

Java中集合类则可以解决我们的需求

特点:提供一种存储空间可变的存储模型

我们将对集合中的ArrayList进行学习;ArrayListJava.util下,所以我们使用时需要导包

ArrayList:

  • 是可调整大小数组的实现
  • 是一种特殊的数据类型,泛型;
  • 将E替换成我们想要的引用数据类型:ArrayList、ArrayList、、、
  • 存储在ArrayList中的元素必须是一种对象

1.2 ArrayList的构造和添加

方法名 说明
public ArrayList() 该类的无参构造器
public boolean add(E e) 将参数添加到集合内容的末尾;注意返回值为布尔值
public void add(int index,E e) 将参数添加到集合指定下标位置处

我们从代码中对三个方法进行学习:

public class Test{
    public static void main(String[] args){
        //建立一个存储String对象的ArrayList
        ArrayList<String> s=new ArrayList<>();
        System.out.println(s);
        
    }
}
//输出结果
[]
//当ArrayList刚创建时,内容为空

我们对ArrayList添加对象

public class Test{
    public static void main(String[] args){
        
        ArrayList<String> s=new ArrayList<>();
        //添加元素调用add方法
        s.add("工地佬");
        s.add("是牛马");
        
        System.out.println(s);
        
    }
}
//输出结果
[工地佬,是牛马]

接下来演示指定下标添加元素

public class Test{
    public static void main(String[] args){
        
        ArrayList<String> s=new ArrayList<>();
        
        s.add("工地佬");
        s.add("是牛马");
        //调用添加元素到指定位置的方法
        s.add(1,"是什么?")
        
        System.out.println(s);
        
    }
}
//输出结果
[工地佬,是什么?,是牛马]

1.3 ArrayList集合常用方法

方法名 说明
public boolean remove(Object o) 删除指定元素,并返回是否删除成功
public E remove (int index) 删除指定下标的元素,并返回删除的元素
public E set(int inde,E element) 修改指定下标的元素,并返回修改的元素
public E get(int index) 获取指定下标的元素,并返回该元素
public int size() 返回集合的元素个数
//演示上面五种方法

import java.util.ArrayList;//首先要导入ArrayList包;ArrayList在Java.util下,所以我们使用时需要导包

public class Test{
    public static void main(String[] args){
        ArrayList<String> s=new ArrayList<>();
        s.add("中交");
        s.add("二航局");
        s.add("建筑");
        s.add("有限公司");
        System.out.println(s);//[中交,二航局,建筑,有限公司]
        
        System.out.println(s.remove("中交"));//true     remove方法移除指定的的元素,并返回是否移除成功
        System.out.println(s);//[二航局,建筑,有限公司]    移除后的集合列表元素
        
        System.out.println(s.remove(0));//二航局   重载方法remove移除指定下标的元素,并返回被移除的元素
        System.out.println(s);//[建筑,有限公司]    移除后的集合列表元素
        
        System.out.println(s.set(0,"牛马"));//建筑     set方法修改指定下标的元素,并返回被修改的元素
        System.out.println(s);//[牛马,有限公司]    修改后的集合列表元素
        
        System.out.println(s.get(0));//牛马    get方法获取指定下标的元素,并返回获取的元素
        System.out.println(s);//[牛马,有限公司] 
        
        System.out.println(s.size());//2  size方法获取集合中的元素个数,并返回数字
        System.out.println(s);//[牛马,有限公司] 
    }
}

案例:存储学生对象并遍历

思路:

①先创建一个学生类

②测试类中创建存储学生对象的ArrayList集合

③创建学生对象并添加至集合中

④利用循环遍历对象属性

//创建一个学生类
public class Students{
    //添加成员变量、属性
    private String name;
    private int age;
    //无参构造
    public Students(){
        
    }
    //有参构造
    public Students(String name,int age){
        this.name=name;
        this.age=age;
    }
    //私有属性访问方法
    public void setName(String name){
        this.name=name;
    }
    public void setAge(int age){
        this.age=age;
    }
    public String getName(){
        return name;
    }
    public int age(){
        return age;
    }
}
//
import java.util.ArrayList;//导包
public class Test{
    public static void main(String[] args){
        ArrayList<Students> s=ArrayList<>();//创建一个存储学生类对象的集合
        Students st1=new Students("无极剑圣",500);//创建学生对象
        Students st1=new Students("疾风剑豪",6300);
        Students st1=new Students("鲁班七号",3500);.
        s.add(st1);//学生对象加入到集合中
        s.add(st2);
        s.add(st3);
        for(int i=0;i<s.size();i++){
            System.out.println(s.get(i).getName()+"  "+s.get(i)getAge());
        }
}
//输出结果
无极剑圣   500
疾风剑豪   6300
鲁班七号   3500

标签:ArrayList,System,Day30,add,详解,println,public,out
From: https://www.cnblogs.com/CQliuwei/p/16948727.html

相关文章

  • day30-JQuery03
    JQuery034.jQuery选择器034.4表单选择器应用实例<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>表单选择器应用实例</title>......
  • Spring MVC请求地址映射详解:HandlerMapping
    1HandlerMapping介绍HandlerMapping是SpringMVC的核心组件之一,用来保存request-handler之间的映射。简单来说,request指的是请求地址(还包括请求方法等),handler指的是Cont......
  • Nginx map 使用详解
    map指令介绍:map指令是由ngx_http_map_module模块提供的,默认情况下安装nginx都会安装该模块。map的主要作用是创建自定义变量,通过使用nginx的内置变量,去匹配某......
  • 【SpringBoot】对于yaml的详细学习和三种属性赋值的实战详解
    一.yaml详细讲解1.1什么是yaml?YAML是一种数据序列化语言,通常用于编写配置文件。业界对YAML有不同的看法。有些人会说YAML代表另一种标记语言。其他人认为“YAML不是标记......
  • k8s篇-k8s集群架构及组件详解【史上最详细】
    Okubernetes简介k8s是什么k8s是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可以促进声明式配置和自动化。k8s能做什么1)服务发现和负载......
  • Day29:StringBuilder详解
    StringBuilder1.1StringBuilder概述我们先对普通的String字符串对象建立进行内存分析;publicclassDemo{publicstaticvoidmain(String[]args){Strin......
  • asp教程:ASP开发中存储过程应用详解
    ASP开发中存储过程应用详解|调用,参数,存储,数据库,输出,编译,mycomm,输入,userid,代码ASP与存储过程(StoredProcedures)的文章不少,但是我怀疑作者们是否真正实践过。......
  • Python+NumPy绘制常见曲线的方法详解_python
    一、利萨茹曲线二、计算斐波那契数列 三、方波方波可以近似表示为多个正弦波的叠加。任意一个方波信号都可以用无穷傅里叶级数来表示。需要累加很多项级数,且级数越......
  • __call__函数详解
    来自  https://blog.csdn.net/weixin_43702920/article/details/107832807   传送门__call__(self,) 该方法的功能类似于在类中重载() 运算符,使得类实例对......
  • vmware虚拟机三种网络模式(桥接、NAT、仅主机)带图详解
    文章目录说明三种网络模式介绍Bridge桥接模式说明设置vmware网络适配器虚拟机网络修改为桥接模式查看桥接物理网卡IP信息虚拟机中配置ip特殊说明NAT网络地址转换说明设置......