集合和数组的对比:
1、数组长度固定,集合长度可变
2、数组可存基本数据类型和引用数据类型,集合可存引用数据类型,如果要存基本数据类型需要将其变成对应的包装类
ArrayList索引规则和数组相同
public class Demo {
public static void main(String[] args) {
//创建集合
ArrayList<String> list=new ArrayList<>();
//添加元素
list.add("123");
list.add("abc");
//删除元素
//list.remove(1);
//list.remove("123");
//修改元素
//list.set(0,"hhh");
//查询元素
list.get(0);
//遍历
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println(list);
}
}
基本数据类型及对应包装类:
基本数据类型 | 对应包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
public class Demo {
public static void main(String[] args) {
ArrayList<Student> list=new ArrayList<>();
//创建学生对象
Student s1=new Student("zhangsan",18);
Student s2=new Student("lisi",31);
Student s3=new Student("wangwu",23);
list.add(s1);
list.add(s2);
list.add(s3);
//遍历集合
for (int i = 0; i < list.size(); i++) {
Student stu=list.get(i);
System.out.println(stu.getName()+","+stu.getAge());
}
}
}
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;
}
}
public class Demo {
public static void main(String[] args) {
ArrayList<Student> list=new ArrayList<>();
//键盘录入学生信息并添加到集合里
Scanner input=new Scanner(System.in);
for (int i = 0; i < 3; i++) {
//学生对象的创建要放在循环里
Student st=new Student();
System.out.println("请输入学生姓名");
String name= input.next();
System.out.println("请输入学生年龄");
int age= input.nextInt();
st.setName(name);
st.setAge(age);
list.add(st);
}
//遍历集合
for (int i = 0; i < list.size(); i++) {
Student stu=list.get(i);
System.out.println(stu.getName()+","+stu.getAge());
}
}
}
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;
}
}