Java中ArrayList集合

一、概述

ArrayList集合是程序中最常见的一种集合,属于引用类型,在AyyayList内部封装了一个长度可变的数组,当存储元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,可以看做ArrayList是一个长度可变的数组。

1、创建集合

  • 导包:import java.util.ArrayList;
  • 创建对象:ArrayList<要存储的数据类型>  变量名  =  new  ArrayList<要存储的数据类型>();

注意:<要存储的数据类型>中必须为引用数据类型

2、基本数据类型对应应用数据类型

基本数据类型对应的引用数据类型
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

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());
    }
}

 

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ONESTAR博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值