java中的ArrayList基础
ArrayList类
ArrayList是集合中的一种, 集合是存储空间可变的存储模型,存储数据的容量可发生改变。
ArrayList的特点: 底层是数组是想的, 长度可以改变。 (数组的长度不可改变)
泛型: 用于约束存储元素的数据类型
ArrayList类 在 java.util 中, 使用需要引入
创建ArrayList
使用构造函数public ArrayList()
创建一个空的集合对象
基础方法
public ArrayList()
创建集合public boolean add(e)
添加元素到ArrayListpublic void add(index, e)
插入元素到指定索引
import java.util.ArrayList
/*
使用ArrayList存储字符串
*/
public class ArrayListDemo {
public static void main(String[] args) {
// 右边<> 跟存储的数据类型, 左边<>在JDK7以后因为自动类型推断,所以可为空。
ArrayList<String> array = new ArrayList<String>();
array.add("Hello");
array.add("world");
System.out.println(array.add("java")); // true
array.add(2, "love");
System.out.println(array); // ["Hello", "world", "love", "java"]
}
}
ArrayLIst的常用方法与操作
常用方法
public boolean remove(object)
删除指定的元素,返回是否删除成功public E remove(int index)
删除指定索引位置的元素, 返回被删除的元素public E set(int index, E element)
修改指定索引位置元素为传入的元素, 返回被修改的元素public E get(index index)
获取索引位置的元素public int size()
返回集合的长度
/*
方法演示
*/
class Student {
private String name;
private int age;
public Student() {}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return this.age;
}
public void show() {
System.out.println(this.name + "," + this.age);
}
}
import java.util.ArrayList
public class ArrayMethodsTest {
public static void main(String[] args) {
//创建ArrayList存储student对象
ArrayList<Student> array = new ArrayList<Student>();
Student s1 = new Student("hjw", 18);
Student s2 = new Student("楚留香", 20);
Student s3 = new Student("小白", 23);
array.add(s1);
array.add(s2);
array.add(s3);
// 遍历集合
for (int i = 0; i < array.size(); i++) {
Student student = array.get(i);
student.show();
}
// 使用方法删除小白
removeStudentByName("小白");
// 将hjw对象修改为新的对象 发哥, 40
Student s4 = new Student("发哥", 40);
array.set(0, s4);
}
/*
删除传入名字的学生对象
返回值: 无
参数: ArrayList<Student>, String name
*/
public static void removeStudentByName(ArrayList<Student> array, String name) {
for (int i = 0; i < array.size(); i++) {
Student student = array.get(i);
if (student.getName().equals(name)) {
array.remove(i);
break;
}
}
}
}