Day30:ArrayList详解
2024-10-21 06:00:31
ArrayList
1.1 集合概述
当我们要存储多个数据时,固定长度的数组存储格式已经满足不了我们的需要了,且不能满足变化的需求;
Java中集合类则可以解决我们的需求
特点:提供一种存储空间可变的存储模型
我们将对集合中的ArrayList进行学习;ArrayList在Java.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
最新文章
- mysql 方法row_number()方法
- Google Guava学习笔记——基础工具类针对Object类的使用
- HtmlAgilityPack相关网页
- 点击modal确定键后删除tr
- GIS科研站
- javascript、js操作json方法总结(json字符创转换json对象)
- 【转】 Ubuntu下配置USB转串口及串口工具配置--不错
- How do I pull a native DOM element from a jQuery object? | jQuery Learning Center
- oc UIAlertController封装
- 【原】Spring Boot 配置swagger2没有文档解决方案
- j2EE基础知识
- 《笨方法学Python》加分题17
- VUE.JS 使用axios数据请求时数据绑定时 报错 TypeError: Cannot set property &#39;xxxx&#39; of undefined 的解决办法
- 微信小程序:图片预览
- 微信小程序-下拉松开弹不回去顶部留一段空白
- BT原理分析
- 部署django项目,sqlite3数据库出错sqlite3.NotSupportedError: URIs not supported
- 最长公共子序列lcs 51nod1006
- WinForm ListView不分页加载大量数据
- [翻译] ALMoviePlayerController