一、概述
ArrayList集合是程序中最常见的一种集合,属于引用类型,在AyyayList内部封装了一个长度可变的数组,当存储元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,可以看做ArrayList是一个长度可变的数组。
1、创建集合
导包:import java.util.ArrayList;
创建对象:ArrayList<要存储的数据类型> 变量名 = new ArrayList<要存储的数据类型>();
注意:<要存储的数据类型>中必须为引用数据类型
2、基本数据类型对应应用数据类型
基本数据类型 对应的引用数据类型
3、创建方式
存储String类型的元素:ArrayList<String> list = new ArrayList<String>();
存储int类型的元素:ArrayList<Integer> list = new ArrayList<Integer>();
创建自己定义的Student类型的数据:ArrayList<Student> list = new ArrayList<Student>();
集合和数组的区别:
集合的长度是可变的,数组的长度是固定的
集合中存储的元素必须是引用类型数据
二、代码实例
实例1:存储元素
package List;
import java.util.ArrayList;
public class Main {
public static void main(String[] args)
{
ArrayList<String> List = new ArrayList<>(); //创建集合
List.add("hello "); //添加元素
List.add("my ");
List.add("love!");
System.out.println(List); //打印整个集合
System.out.println(List.size()); //获取集合元素个数
System.out.println(List.get(0)); //获取第一个元素
System.out.println(List.get(1)); //获取第二个元素
System.out.println(List.get(2)); //获取第三个元素
System.out.println("==================================");
for(int i = 0;i < List.size();i++) //遍历打印集合
{
System.out.println(List.get(i));
}
}
}
实例2:存储Student类,对学生的信息进行封装,并随机获取一个学生信息
Student.java文件:
package myList;
//创建学生类
public class Student {
private String name;
private int age;
public Student()
{
}
public void setAge(int age)
{
this.age = age;
}
public void setName(String name)
{
this.name = name;
}
public int getAge()
{
return age;
}
public String getName()
{
return name;
}
}
Main.java文件
package myList;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
ArrayList<Student> List = new ArrayList<Student>(); //创建一个容器存储学生信息
addStudentList(List); //添加学生信息
pritnStudentList(List); //打印学生信息
randomStudentList(List); //随机抽取某个学生信息
}
//添加学生信息
public static void addStudentList(ArrayList<Student> List)
{
Scanner Sca = new Scanner(System.in);
for(int i = 0;i < 3;i++)
{
Student Stu = new Student();
Stu.setAge(Sca.nextInt());
Stu.setName(Sca.next());
List.add(Stu);
}
}
//打印学生信息
public static void pritnStudentList(ArrayList<Student> List)
{
for(int i = 0;i < List.size();i++)
{
Student s = List.get(i);
System.out.println(s.getAge());
System.out.println(s.getName());
}
}
//随机抽取某个学生信息
public static void randomStudentList(ArrayList<Student> List)
{
int net = new Random().nextInt(List.size());
Student S = List.get(net);
System.out.println(S.getAge());
System.out.println(S.getName());
}
}
网友评论