Day10 ArrayList

109 阅读1分钟

数组缺点:一旦创建,程序运行期间长度不可以改变

ArrayList集合长度是可以随意改变,在API文档中有个E,表示泛型
泛型:也就是装在集合当中的所有元素,全都是统一的什么类型
注意:泛型只能是引用类型,不能是基本类型,基本的类型使用对应的包装类

从jdk1.7开始,右边的<>可以不写内容
对于ArrayList集合来说,直接打印得到的不是地址值,而是内容。如果内容是空,得到的是空的中括号
public boolean add(E e);添加,返回值表示添加是否成功
public E get(int index);获取
public E remove(int index);删除
public int size();获取长度

remove掉一个数的时候,后面的数字同时会前进一位来补上空位,所以当两个连续的数都不符合要求的时候,我们只能删掉第一个数

package dy.d0709;

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

//用大集合存储20个随机数,用小集合筛除出偶数
public class Demo04ArrayLIstReturn {
    public static void main(String[] args) {
        ArrayList<Integer> biglist=new ArrayList<>();
        for (int i = 0; i < 20; i++) {
            int num=new Random().nextInt(100)+1;
            biglist.add(num);
        }
        System.out.println(biglist);
        ArrayList<Integer> smalllist=getSmallList(biglist);
        System.out.println(smalllist);
        getSList(biglist);

    }
    public static ArrayList<Integer> getSmallList(ArrayList<Integer> biglist){
        ArrayList<Integer> smallList=new ArrayList<>();
        for (int i = 0; i < biglist.size(); i++) {
            if(biglist.get(i)%2==0) smallList.add(biglist.get(i));
        }
        return smallList;
    }
    public static void getSList(ArrayList<Integer> bigList){
        for (int i = 0; i < bigList.size(); i++) {
            if(bigList.get(i)%2!=0) bigList.remove(i);
        }
        System.out.println(bigList);
    }
}

测试结果如下所示: 测试结果.png