APIDay04
- iterator():获取当前集合对应的迭代器;
- -toArray():将当前集合转换为数组;
一、List接口
-
继承自Collection接口,List集合是可重复集合,并且有序,它提供了一套可以通过下标操作元素的方法。
常见的实现类:
java.util.ArrayList: 内部使用数组实现;
##ArrayList: 查询效率快(直接通过下标查找物理地址),但是增删性能不太好;
java.util.LinkedList: 内部使用链表实现(每个元素都有下标,但是没有单独的物理地址);
##LinkdedList: 首尾增删性能好,但是查询速度较慢(头、尾除外);
**- 注意:**在对集合操作的增删性能没有特别苛刻的要求时,通常选择ArrayList;
二、List集合常见方法
- get(int index) : 获取指定下标所对应的元素;
-
set(int index,E e) : 将给定元素(e)设置到给定的位置(index),返回的是被替换的那个元素;
-
add(int index,E e) : 将给定元素(e)添加到index所指定的位置,相当于插入操作;
-
remove(int index) : 删除指定位置的元素,并返回该位置的原始元素;
-
subList(int start,int end) : 获取当前集合中指定范围内的子集(含头不含尾);
三、集合的排序
-
Arrays:数组工具类——存储了很多与数组相关的静态方法;
-
Collections:集合工具类——定义了很多与集合相关的静态方法;
Collections.sort(List list)方法:可以对List集合进行自然排序(从小到大),但是Collections.sort()方法要求List集合中的元素必须时可比较的,若不可比较,则直接发生编译错误,不允许排序,而判断是否可比较的标准为:元素是否实现了java.util.Comparable接口。但是实际开发中,是不会让我们自定义的类去实现Comparable接口,因为这对我们的程序有侵入性。
侵入性**:**当我们调用某个API功能时,其要求我们为其修改其它额外的代码,这个现象叫做侵入性。侵入性越强,则越不利于程序后期的维护,应尽量避免。
**建议:**使用重载的Colleations.sort(List list,Comparator c)方法,可以通过Comparator来自定义比较规则。
四、Set接口
继承自Collection接口,元素是不可重复的,并且大部分都是无序的。
常见的实现类:
- java.util.HashSet() :