JavaSE——集合ArrayList
集合和数组的优势对比:
-
长度可变
-
添加数据的时候不需要考虑索引,默认将数据添加到末尾
1.1 ArrayList类概述
-
什么是集合
提供一种存储空间可变的存储模型,存储的数据容量可以发生改变
-
ArrayList集合的特点
长度可以变化,只能存储引用数据类型。
-
泛型的使用
用于约束集合中存储元素的数据类型
1.2 ArrayList类常用方法
1.2.1 构造方法
| 方法名 | 说明 |
|---|---|
| public ArrayList() | 创建一个空的集合对象 |
1.2.2 成员方法
| 方法名 | 说明 |
|---|---|
| public boolean add(要添加的元素) | 将指定的元素追加到此集合的末尾 |
| public boolean remove(要删除的元素) | 删除指定元素,返回值表示是否删除成功 |
| public E remove(int index) | 删除指定索引处的元素,返回被删除的元素 |
| public E set(int index,E element) | 修改指定索引处的元素,返回被修改的元素 |
| public E get(int index) | 返回指定索引处的元素 |
| public int size() | 返回集合中的元素的个数 |
package com.zhao.listdemo;
import java.util.ArrayList;
public class ArrayListDemo1 {
public static void main(String[] args) {
//创建一个集合
ArrayList<String> arrayList=new ArrayList<>();
//添加元素,返回类型是布尔类型
boolean b1=arrayList.add("aaa");
System.out.println(b1);//-->true
arrayList.add("bbb");
arrayList.add("ccc");
//删除 .remove()
//第一种:直接删除元素,返回类型是布尔类型
//boolean b2=arrayList.remove("aaa");
//System.out.println(b2);//-->true
//第二种:根据索引删除,返回的是被删除的旧元素
//String removedStr=arrayList.remove(0);
//System.out.println(removedStr);//-->aaa
//修改 .set(索引,修改内容),返回的是被覆盖的旧元素
String str1=arrayList.set(0,"AAA");
System.out.println(str1);//-->aaa
//查询 .get(),返回的是当前索引下的元素
String str2=arrayList.get(0);
System.out.println(str2);//-->AAA
//遍历
for (int i = 0; i < arrayList.size(); i++) {
String string=arrayList.get(i);
System.out.print(string+" ");
//-->AAA bbb ccc
}
}
}

package com.zhao.test;
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
/**
* 获取
* @return name
*/
public String getName() {
return name;
}
/**
* 设置
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取
* @return age
*/
public int getAge() {
return age;
}
/**
* 设置
* @param age
*/
public void setAge(int age) {
this.age = age;
}
public String toString() {
return "Student{name = " + name + ", age = " + age + "}";
}
}
package com.zhao.test;
import java.util.ArrayList;
public class ArrayListTest1 {
public static void main(String[] args) {
//创建集合
ArrayList<Student> arrayList=new ArrayList<>();
//创建学生对象
Student s1=new Student("张三",18);
Student s2=new Student("李四",19);
Student s3=new Student("王五",20);
//添加
arrayList.add(s1);
arrayList.add(s2);
arrayList.add(s3);
//遍历
for (int i = 0; i < arrayList.size(); i++) {
Student student=arrayList.get(i);
System.out.println(student.getAge()+" "+student.getName());
}
}
}


浙公网安备 33010602011771号