ArrayList
1、相对于数组,ArrayList的长度是可以随意改变的。
2、ArrayList,E指的是泛型,该泛型只能是引用类型,不能是基本类型。例如不能是int,但可以是Intenger。(java1.5之后,支持自动装箱拆箱)
3、直接打印出的结果是[]或内容,不会是地址值。
4、常用方法
public boolean add(E e);
public E get(int index);
public E remove(int index);
public int size();
5、常见问题应用
生成6个1~33之间的随机整数,添加到集合并遍历集合。
import java.util.ArrayList;
import java.util.Random;
public class Demo1 {
//生成6个1~33之间的随机整数,添加到集合并遍历集合。
public static void main(String[] args) {
Random r1 = new Random();
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < 6; i++) {
list.add(r1.nextInt());
}
System.out.println(list);
}
}
定义四个学生对象,添加到集合并遍历
public class Student {
private int num;
private String name;
public Student() {
}
public Student(int num, String name) {
this.num = num;
this.name = name;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
import java.util.ArrayList;
public class Aplication {
//定义四个学生对象,添加到集合并遍历
public static void main(String[] args) {
Student s1 = new Student(1,"迪丽热巴");
Student s2 = new Student(2,"赵丽颖");
Student s3 = new Student(3,"杨紫");
Student s4 = new Student(4,"杨幂");
ArrayList<Student> list=new ArrayList<>();
list.add(s1);
list.add(s2);
list.add(s3);
list.add(s4);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).getNum());
System.out.println(list.get(i).getName());
}
}
}
定义以指定格式打印集合的方法(ArrayList类型作为参数)使用{}括起集合,使用@分隔每个元素。(元素@元素@元素)
import java.util.ArrayList;
public class Demo2 {
//定义以指定格式打印集合的方法(ArrayList类型作为参数)使用{}括起集合,使用@分隔每个元素。(元素@元素@元素)
public static void main(String[] args) {
ArrayList<String> list =new ArrayList<>();
list.add("1233");
list.add("svsdv");
list.add("com");
System.out.println(list);
sPrint(list);//{1233@svsdv@com}
}
public static void sPrint(ArrayList<String> list){
for (int i = 0; i < list.size(); i++) {
if(i==0){
System.out.print("{");
}
System.out.print(list.get(i));
if(i<list.size()-1){
System.out.print("@");
}else {
System.out.print("}");
}
}
}
}
用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到其中的小集合当中,要求使用自定义的方法来实现筛选。
import java.util.ArrayList;
public class Demo3 {
//用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到其中的小集合当中,要求使用自定义的方法来实现筛选。
public static void main(String[] args) {
ArrayList<Integer> list1=new ArrayList<>();
list1.add(1);
list1.add(3);
list1.add(4);
list1.add(8);
System.out.println(list1);
System.out.println(even(list1));
}
public static ArrayList<Integer> even(ArrayList<Integer> list) {
ArrayList<Integer> list2 = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
if (list.get(i) % 2 == 0) {
list2.add(list.get(i));
}
}
return list2;
}
}