1,集合ArrayList类底层就是用数组来实现的,其语法为:
ArrayList objectName =new ArrayList<>();
这个E一定要用引用数据类型
2,集合跟数组最明显的区别就是集合的长度是不定长的,但是数组的长度必须是定的,这就凸显出二者的优劣。
3,ArrayList类中常用的一些方法如下
(1)add(int index,E element) :将指定的元素添加到集合中,如果 index 没有传入实际参数,元素将追加至数组的最末尾。
注意:如果 index 超出范围,则该 add() 方法抛出 IndexOutOfBoundsException 异常。
arraylist.add(int index,E element)
(2) remove(index) :删除集合中的指定位置的元素,这个位置是指的下标,是从0开始的
(3) get(index) : 获取集合中某个位置的元素,这个位置是指的下标,是从0开始的
(4) size() :获取集合目前的长度
(5) toArray() :将集合转化为数组
(6) set(index) : 给指定的位置进行赋值操作
(7) sort() : 排序,sort() 方法不返回任何值,它只是更改动态数组列表中元素的顺序。它里面可以进行排序的顺序选择。
比如如下代码:使用的是:Comparator.reverseOrder(),其代表逆序排列(从大到小)
ArrayList<Integer> arr1 = new ArrayList<Integer>();
arr1.add(3);
arr1.add(2);
arr1.add(5);
arr1.add(0);
arr1.sort(Comparator.reverseOrder());
System.out.println(Arrays.toString(arr1.toArray()));
他输出的就是从大到小的排列。结果是:[5, 3, 2, 0]
arr1.sort(Comparator.naturalOrder());
这一种则是正常从小到大的排列:结果是:[0, 2, 3, 5],使用到的是:Comparator.naturalOrder()
(8)addAll():将一个集合中的所有元素添加到另外一个集合中
(9)clear(): 清空集合的所有元素
(10)subList(int fromIndex, int toIndex):截取部分集合的元素,区间为[int fromIndex, int toIndex),半闭半开区间,包含formIndex,不包含toIndex。
比如一个集合元素是这几个元素:
[王五, 李四, 张三]
现在进行截取:
arr.subList(0, 2)
打印截取的集合:
System.out.println(Arrays.toString(arr.subList(0, 2).toArray()));
[王五, 李四]
相当于截取了下标为0(包含)到下标为2(不包含)之间的元素<=>截取下标为0,1的元素。
(11)contains():判断集合中是否存在这个元素,返回true/false,是一个boolean类型的方法