1、为什么学习集合类:
面向对象程序语言是对事物的描述,都是通过对象来实现的。为了方便对多个对象进行操作,我们就需要对对象进行存储,而要想对多个对象存储,就应该有一个容量类型的变量。所以,java提供了集合类供我们使用。
集合类的特点:长度可变
2、ArrayList:大小可变数组的实现
<E>:是一种特殊的数据类型,泛型
怎么用呢?
再出现E的地方我们使用引用数据类型替换即可
举例:ArrayList<String> ,ArrayList<Student>
构造方法:ArrayLIst()
添加方法:
public boolean add(E,e):添加元素
public void add(int index,E element):在指定的索引处添加一个元素
获取元素:
public E get(int index):返回集合中的元素个数
删除元素:
public boolean remove(Object o):删除指定的元素,返回删除是否成功
public E remove(int index):删除指定索引处的元素,返回被删除的元素
修改元素:
public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
举例:创建一个集合,存储学生对象,学生对象的数据来自于键盘录入,最后,遍历集合
我使用的是Eclipse集成开发工具,所以我就基于Eclipse来讲如何实现。首先新建一个java项目,然后新建一个包(自己取名),然后新建一个学生类Student,再新建一个学生案例类StudentDemo。
Student类:
public class Student{
private String name;
private String age;
public Student(){
}
public Student(String name,String age){
this.name=name;
this.age=age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
StudentDemo类:
import java.util.ArrayList;
import java.util.Scanner;
public class StudentDemo {
public static void main(String[] args) {
ArrayList<Student> array = new ArrayList<Student>();
addStudent(array);
addStudent(array);
addStudent(array);
for(int x=0;x<array.size();x++) {
Student s=array.get(x);
System.out.println(s.getAge()+" "+s.getName());
}
}
public static void addStudent(ArrayList<Student> array) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name = sc.nextLine();
System.out.println("请输入学生年龄:");
String age=sc.nextLine();
Student s =new Student();
s.setAge(age);
s.setName(name);
array.add(s);
}
}