什么是集合?
简称集,是用来存储多个元素的容器
集合和数组的区别
元素类型
集合:引用类型(存储基本类型时自动装箱)
数组:基本类型、引用类型
元素个数
集合:不固定,可任意扩容
数组:固定,不能改变容量
集合的好处
不受容器大小限制,可以随时添加、删除元素
提供了大量操作元素的方法(判断、获取等)
Java的集合体系
单列集合(Collection)
List:
ArrayList
Set:
HashSet
双列集合(Map: key,value )
Map:
HashMap
四个接口不能直接实例化,即不能直接newXxx,要使用他们的方法必须通过创建他们的子类对象。
一、List集合
List是接口,所以可以通过创建其子类ArrayList对象来完成该接口的实例化
List list=new ArrayList();
List接口中的成员方法:
public boolean | add(E e) |
将指定的元素追加到此列表的末尾(可选操作)。E泛型,暂时可理解为Object类型
|
---|
public E | get(int index) |
返回此列表中指定位置的元素。
|
---|
public int | size() |
返回此列表中的元素数。
|
---|
使用集合的步骤:
1.创建集合对象
2.创建元素对象
3.将元素对象添加到集合对象中
4.遍历对象
public class Test {
public static void main(String[] args) {
// 往list集合中添加3个学生类,遍历
// 1.创建集合对象
List list=new ArrayList();
// 2.创建元素对象
Student s1=new Student("张三1",15);
Student s2=new Student("张三1",15);
Student s3=new Student("张三3",17);
Student s4=new Student("张三4",18);
// 3.将元素对象添加到集合对象中
list.add(s1);
list.add(s2);
list.add(s3);
list.add(s4);
//直接打印list
System.out.println(list);
// 获取索引为2的元素
Object obj=list.get(2);
System.out.println("索引为2 的元素是:"+obj);
// 获取集合中元素的个数
System.out.println("集合的长度:"+list.size());
System.out.println("--------------------------------");
// 4.遍历对象
for (int i = 0; i <list.size() ; i++) {
Object obj1=list.get(i);
System.out.println("索引为i"+i+"的元素是"+obj1);
}
}
}
public class Student {
// 成员变量
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
增强for循环
为什么需要增强for循环?
简化数组和集合的遍历
增强for循环的格式:
案例演示(使用增强for遍历List集合)
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
// 1.创建集合中对象
List list=new ArrayList();
// 2.创建元素对象
list.add(10);
list.add(10);
list.add(20);
list.add(30);
list.add(40);
// 3.将元素对象添加到集合对象中
// 4.遍历对象
for(Object obj:list){
Integer i=(Integer)obj; //obj是集合中的元素其本身应该是int类型的数据,
System.out.println(i);
}
for (Object obj : list) {//快捷键iter+回车,obj跟上边的不冲突
Integer i=(Integer)obj;
System.out.println(i);
}
}
}