ArrayList类
一、ArrayList的定义
ArrayList
是大小可变的数组,存储在内的数据称为元素。此类提供一些方法来操作内部存储的元素。 ArrayList
中可不断添加元素,其大小也自动增长。
ArrayList<DataType> arrayList = new ArrayList<DataType>();
以上是ArrayList
的空的构造函数。
在JDK7以后,<>
可以留空,如下
ArrayList<DataType> arrayList = new ArrayList<>();
add(DataType e)
将e添加在元素添加到尾部
二、小练习
import java.util.ArrayList;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<>();
String name_1 = "张三";
String name_2 = "李四";
String name_3 = "王二麻子";
System.out.println(arrayList);
arrayList.add(name_1);
arrayList.add(name_2);
arrayList.add(name_3);
System.out.println(arrayList);
}
}
三、查找遍历方法
pubic DataType remove(int index)
:移除此集合中指定位置上的元素。返回被删除的元素。public DataType get(int index)
:返回此集合中指定位置上的元素。返回获取的元素。public int size()
:返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。
import java.util.ArrayList;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name;
int age;
String sex;
ArrayList<Student> studentArrayList = new ArrayList<>();
System.out.println("以下将建立三个学生,请依次输入相关信息");
for (int i = 0; i < 3; i++) {
System.out.println("请输入名字");
name = scanner.next();
System.out.println("请输入年龄");
age = scanner.nextInt();
System.out.println("请输入性别");
sex = scanner.next();
Student student = new Student(name,age,sex);
studentArrayList.add(student);
}
System.out.println("当前的长度为"+studentArrayList.size());
System.out.println("以将遍历学生List");
for(int i = 0 ; i < studentArrayList.size() ; i++){
studentArrayList.get(i).Say();
}
System.out.println("请输入要删除的index");
int j = new Scanner(System.in).nextInt();
studentArrayList.remove(j);
System.out.println("当前的长度为"+studentArrayList.size());
for(int i = 0 ; i < studentArrayList.size() ; i++){
studentArrayList.get(i).Say();
}
}
}
class Person{
private String name;
private int age;
private String sex;
public Person(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
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;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
class Teacher extends Person{
public Teacher(String name, int age, String sex) {
super(name, age, sex);
}
public void Say(){
System.out.println("我是一名老师,我的名字是"+this.getName()
+",我的年龄是"+this.getAge()
+",我的性别是"+this.getSex());
}
}
class Student extends Person{
public Student(String name, int age, String sex) {
super(name, age, sex);
}
public void Say(){
System.out.println("我是一名学生,我的名字是"+this.getName()
+",我的年龄是"+this.getAge()
+",我的性别是"+this.getSex());
}
}