一、集合
1、集合的由来:
面向对象语言对事物的体现就是以对象这个形式,所以为了方便对这个对象进行操作,Java提出了集合类这个概念,可以将数据以集合的形式存储访问。
2、集合和数组的区别:
* 数组定义时会设置固定的长度,而集合的长度不固定;
* 数组既可以存储基本数据类型,也可以存储引用数据类型,而集合只能存储引用数据类型,
注意:
当集合存储基本数据类型时,会进行自动装箱操作,将基本数据类型转换为相对性的引用数据类型(如int对应的引用类型是integer)。
* 数组只能存储同种类型的数据,一个集合的对象可以存储各种类型的数据。
3、集合体系继承图(仅仅是常用的一些接口、类)
二、Collection接口
1、Collection接口概述:它是所有集合的根接口。
2、Collection集合的功能:
1) 添加功能
* boolean add(Object obj):添加一个元素
例:
import java.util.ArrayList;
import java.util.Collection;
public class Test {
public static void main(String[] args) {
Collection con = new ArrayList();
con.add(1);
System.out.println(con);
con.add("arr");
System.out.println(con);
}
}
//运行结果
[1]
[1,arr]
* 添加一个集合 boolean addAll(Collection c);
例:
import java.util.ArrayList;
import java.util.Collection;
public class Test {
public static void main(String[] args) {
Collection con = new ArrayList();
con.add(1);
con.add("arr");
System.out.println(con);
Collection con1 = new ArrayList();
con1.add(2);
con1.add(23);
con1.add("str");
System.out.println(con1);
//添加功能
con.add(con1);
System.out.println(con);
}
}
//运行结果
[1, arr]
[2, 23, str]
[1, arr, [2, 23, str]]
Process finished with exit code 0
2) 删除功能
* void clear():移除所有元素
* boolean remove(Object o):移除一个元素
* boolean removeAll(Collection c):移除一个集合的元素,(例:con.removeAll(con1),即就是删除con集合中与con2集合交集的元素, 如果没有交集元素,则返回值为false,反之,返回值为true。
案例:定义一个学生Student类,再创建该类的集合对象,并对上述的三种删除方法进行测试:
//学生类
public class Student {
private String name;
private String sex;
private int age;
public Student() {
}
public Student(String name, String sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override //toString()方法的重写,打印对象的成员变量的值
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", sex='" + sex + '\'' +
", age=" + age +
'}';
}
}