数组缺点:一旦创建,程序运行期间长度不可以改变
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);
}
}
测试结果如下所示: