ArrayList集合的使用

数组的长度不可以改变
但是 ArrayList集合的长度是可以随意变化的

  • 对于ArrayList来说,有一个尖括号< E > ,代表的是泛型
  • 泛型:也就是装在集合中的所有元素,全都是【统一】的什么类型,这与数组相像,只能是一种类型
  • 注意:泛型只能是引用类型,不能是基本数据类型。
  • 注意:
  • 对于ArrayList集合来说,直接打印得到的不是地址值,而是内容
  • 如果内容为空,那么就会得到空的中括号,[]
//导包
import java.util.ArrayList;
public class Demo{
	public static void main(String[] args) {
	//创建一个ArrayList集合对象,名称为arr,里面装的全是String字符串数据类型
	//从JDK1.7开始,右侧加括号里的内容可以不写,但是尖括号还是要写的
	ArrayList<String> arr = new ArrayList<>();
	
	//直接打印,得到的为空的[]
	System.out.println(arr);
	}
}

ArrayList中常见的方法有:

  • public boolean add(E e):向集合中添加元素,参数的类型和泛型一致。E对 照泛型
    注意:对于ArrayList集合来说,add添加动作一定成功,所以返回值可用可不用,但是对于其他集合,add添加动作不一定成功

  • public E get(int index):从集合中获取元素,参数是索引编号,返回值就是对应位置的元素,编号从0开始,与数组相同

  • public E remove(int index):从集合中删除元素,参数是索引编号,返回值就是被删掉的元素

  • public int size():获取集合的长度,返回值就是集合中包含元素的个数

//创建一个ArrayList对象
ArrayList<String> arr = new ArrayList<>();

//向集合中添加元素:add
boolean success = arr.add("小强");
System.out.println(arr);
System.out.println("添加是否成功"+success);
System./out.println("--------------------------");

arr.add("旺财");
arr.add("李四");
arr.add("张三");
System.out.println(arr);
//打印为[小强,旺财,李四,张三]
//获取集合中的元素,get,索引值从0开始
String stu = arr.get(1);
System.out.println("获取到的是:"+stu);//旺财
System.out.println("------------");

//删除集合中的元素
String s = arr.remove(2);
System.out.println("被删除的元素是:"+s);//李四
System.out.println(arr);

//获取集合的长度
int num = arr.size();
System.out.println(num);//删除了一个元素,长度为3

//遍历集合
for (int i = 0; i < arr.size(); i++) {
    System.out.println(arr.get(i));
}

ArrayList集合如何储存基本数据类型
如果希望向集合ArrayList中储存基本数据类型,必须使用基本类型对应的“包装类”

基本类型包装类(引用类型,类位于java.lang包下)
byteByte
shortShort
intInteger
longLong
doubleDouble
folatFolat
charCharacter
booleanBoolean
//使用int的包装类Integer,将interesting类型的数字存储进集合中
ArrayList<Integer> arr = new ArrayList<>();
arr.add(100);
arr.add(200);

System.out.println(arr);
//打印结果为[100,200]

ArrayList集合练习:

import java.util.ArrayList;
import java.util.Random;

/*
 *用一个大集合存储20给随机数字,然后筛选其中的偶数元素,放入小集合中
 * 自定义方法实现筛选
 * */
public class DemoSmallList {

    public static void main(String[] args) {
        //创建ArrayList和Random类对象
        ArrayList<Integer> arr = new ArrayList<>();
        Random r = new Random();
        //循环将随机数添加进集合
        for (int i = 0; i < 20; i++) {
            int num = r.nextInt(100);
            arr.add(num);
        }
        System.out.println(arr);
        
        //调用方法,返回的是一个集合,那么就用一个集合接收
        ArrayList<Integer> arr1 = small(arr);
        System.out.println("偶数个数总共有:"+arr1.size());
        
        //遍历这个新集合
        for (int i = 0; i < arr1.size(); i++) {
            System.out.println(arr1.get(i));
        }
    }
    //定义筛选方法
    public static ArrayList<Integer> small(ArrayList<Integer> arr) {
        //创建一个新的集合
        ArrayList<Integer> arr1 = new ArrayList<>();
        //开启循环
        for (int i = 0; i < arr.size(); i++) {
            //如果是偶数。那么就这个元素赋给新的结合
            if (arr.get(i) % 2 == 0){
                arr1.add(arr.get(i));
            }
        }
        //返回这个新集合
        return  arr1;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值