目录
List ArrayList Vector LinkedList的特点
对象数组
概述
对象数组的每一个元素都是一个对象。例如创建一个Student类如下:
public class Student {
String name;
int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
}
创建方法
在测试类Test中创建三个Student对象并放入对象数组中,具体的定义对象数组的方法为:
public class Test {
public static void main(String[] args) {
//定义一个Student对象数组,并且初始化数组长度为3
Student[] students = new Student[3];
//创建三个Student对象,并存放入students数组中
students[0] = new Student("Alice", 18);
students[1] = new Student("Helen", 19);
students[2] = new Student("Jack", 20);
}
}
对象数组的遍历
因为对象数组也是一个数组,里面存放的每个元素都是相同数据类型的,所以我们可以直接循环遍历对象数组。
我们在遍历对象数组时,可以使用get()和set()方法来获取每个数组元素中的成员变量的值,也可以使用toString()方法来直接打印对象数组,前提是必须在Student类中重写toString()方法,否则打印的是每个对象的地址值。
重写toString()方法后的Student类:
public class Student {
String name;
int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
使用重写后的toString()方法打印数组的每个元素:
public class Test {
public static void main(String[] args) {
Student[] students = new Student[3];
students[0] = new Student("Alice", 18);
students[1] = new Student("Helen", 19);
students[2] = new Student("Jack", 20);
for (Student student : students) {
System.out.println(student.toString());
}
}
}
集合
集合的由来
面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象操作,Java就提供了集合类。
集合是一个体系,有很多集合的接口和类组成,不同的集合有各自的特点。
Collection集合继承体系
数组和集合的区别
1)长度区别:
数组的长度是固定的,而集合的长度是可变的。
2)存储数据类型的区别:
数组可以存储基本数据类型,也可以存储引用数据类型;
集合只能存储引用数据类型。
3)内容的区别
数组只能存储相同数据类型的元素;
集合可以存储不同数据类型的元素。
Collection集合的功能
创建Collection集合,下面都使用子类ArrayList演示
import java.util.ArrayList;
import java.util.Collection;
public class Test2 {
public static void main(String[] args) {
Collection collection = new ArrayList();
}
}
添加功能
//添加单个元素 boolean add(Object obj)
该方法的返回值是boolean类型,true为添加成功,false为添加失败。
代码示例
import java.util.ArrayList;
import java.util.Collection;
public class Test2 {
public static void main(String[] args) {
Collection collection = new ArrayList();
boolean b = collection.add(100);
System.out.println(b);
}
}
//添加一个集合的元素(即给一个集合添加进另一个集合的所有元素) boolean addAll(Collection c)
同上,该方法的返回值与add()方法的返回值类似,
代码示例
import java.util.ArrayList;
import java.util.Collection;
public class Test3 {
public static void main(String[] args) {
Collection collection = new ArrayList();
collection.add(1);
Collection collection2 = new ArrayList();
collection2.add(2);
colle