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

Day30:ArrayList详解的更多相关文章

  1. 【集合框架】JDK1.8源码分析之ArrayList详解(一)

    [集合框架]JDK1.8源码分析之ArrayList详解(一) 一. 从ArrayList字表面推测 ArrayList类的命名是由Array和List单词组合而成,Array的中文意思是数组,Lis ...

  2. ArrayList详解-源码分析

    ArrayList详解-源码分析 1. 概述 在平时的开发中,用到最多的集合应该就是ArrayList了,本篇文章将结合源代码来学习ArrayList. ArrayList是基于数组实现的集合列表 支 ...

  3. java集合类之ArrayList详解

    一.ArrayList源码分析 1.全局变量 (1)默认容量(主要是通过无参构造函数创建ArrayList时第一次add执行扩容操作时指定的elementData的数组容量为10) private s ...

  4. Java.util.ArrayList详解

    java.util.ArrayList就是传说中的动态数组. 继承了关系,有此可看出ArrayList与list的collection的关系 public class ArrayList<E&g ...

  5. 【Java集合类】ArrayList详解 (JDK7)

    相信对于使用过Java的人来说,ArrayList这个类大家一定不会陌生. 数据结构课上讲过, Array是数组,它能根据下标直接找到相应的地址,所以索引速度很快,但是唯一的缺点是不能动态改变数组的长 ...

  6. ArrayList详解

    一.ArrayList类介绍:(这里给出jdk1.8源码上中文翻译) ArrayList是List接口以可变数组方式实现的,实现了所有的lis接口中的操作,并容许有null等所有元素.除了实现了Lis ...

  7. Java ArrayList 详解

    只记录目前为止关注的.JDK1.8 一.基础属性 1.1 内部参数 //空存储实例.直接new ArrayList()便是以该空数组作为实例 private static final Object[] ...

  8. Java 8 ArrayList 详解

    GitHub Page: http://blog.cloudli.top/posts/Java-ArrayList/ ArrayList 继承于 AbstractList ,实现了 List.Rand ...

  9. 2 ArrayList 详解

    List 是有序.可重复的容器.List中每个元素都有索引标记,可以根据元素的索引标记访问元素,从而精确控制这些元素. List 接口常用的实现类:ArrayList.LinkedList.Vecto ...

  10. ArrayList详解,底层是数组,实现Serializable接口

    一.对于ArrayList需要掌握的七点内容 ArrayList的创建:即构造器往ArrayList中添加对象:即add(E)方法获取ArrayList中的单个对象:即get(int index)方法 ...

随机推荐

  1. 前端必读3.0:如何在 Angular 中使用SpreadJS实现导入和导出 Excel 文件

    在之前的文章中,我们为大家分别详细介绍了在JavaScript.React中使用SpreadJS导入和导出Excel文件的方法,作为带给广大前端开发者的"三部曲",本文我们将为大家 ...

  2. ProxySQL 全局变量详解

    转载自:https://www.jianshu.com/p/b9d2a09d80e2 全局变量概述 ProxySQL的行为可以通过全局变量来调整.有两种配置方式: 在runtime下,使用admin结 ...

  3. Shell分析日志文件

    文章转载自:https://mp.weixin.qq.com/s/o63aIM2p9rc2OjhxiC6wgA 1.查看有多少个IP访问: awk '{print $1}' log_file|sort ...

  4. shell下cat EOF中变量$处理

    在使用cat EOF中出现$变量通常会直接被执行,显示执行的结果.若想保持$变量不变需要使用 \ 符进行注释 [root@localhost ~]# cat >> aa.txt <& ...

  5. C#-01 关于C#中传入参数的一些用法

    实验环境 实验所处环境位于vs2019环境中 学习内容 一.最基础的参数传入:值参数 对于这种传入,和其他的c,c++编程语言参数传入一样,没有太大差别,在这里给如下例子: 虽然这里并没有进行传参但是 ...

  6. 【博学谷学习记录】超强总结,用心分享|MySql连接查询超详细总结

    一.概述 在实际开发中,大部分情况下都不是在单表中进行数据操作,一般都是多张表进行联合查询.通常一个业务就会对应的有好几张表.MySql中的连接查询分为交叉连接,内连接,外连接三部分.其中交叉连接也叫 ...

  7. for循环小九九乘法表

    for(int i=1;i<=9;i++) { for(int j=1;j<=i;j++) { System.out.print(i+"*"+j+"=&quo ...

  8. 2022年整理最详细的java面试题、掌握这一套八股文、面试基础不成问题[吐血整理、纯手撸]

    这里是参考B站上的大佬做的面试题笔记.大家也可以去看视频讲解!!! 文章目录 1.面向对象 2.JDK.JRE.JVM区别和联系 3.==和equals 4.final 5.String .Strin ...

  9. 3.httprunner-extract/.env/Testcase

    参数关联-extract 场景:上一个接口的返回值,传给下一个接口当请求参数 extract:提取变量 $变量名 :引用变量 假设我们有如下场景 用户A登录之后,返回值返回用户UID,我们需要查询该用 ...

  10. element-ui v-table 复选框默认选中

    <el-table ref="refTable" :data="list" v-loading="listLoading" eleme ...