一、Collection集合特点
一、List系列集合
- 添加的元素是有序、可重复、有索引
- ArrayList、LinekdList:有序、可重复、有索引
二、Set系列集合
- 添加的元素是无序、不重复、无索引
- HashSet:无序、不重复、无索引
- LinkedHashSet:有序、不重复、无索引
- TreeSet:按照大小默认升序排序、不重复、无索引
二、Collection集合常用API
Collection是单列集合的祖宗接口,它的功能是全部单列集合都可以继承使用的
方法名称 | 说明 |
---|---|
public boolean add(E e) | 把给定的对象添加到当前集合中 |
public void clear() | 清空集合中所有的元素 |
public boolean remove(E e) | 把给定的对象在当前集合中删除 |
public boolean contains(Object obj) | 判断当前集合中是否包含给定的对象 |
public boolean isEmpty() | 判断当前集合是否为空 |
public int size() | 返回集合中元素的个数。 |
public Object[] toArray() | 把集合中的元素,存储到数组中 |
三、迭代器
迭代器在Java中的代表是Iterator,迭代器是集合的专用遍历方式
四、Collection集合获取迭代器
方法名称 | 说明 |
---|---|
Iterator iterator() | 返回集合中的迭代器对象,该迭代器对象默认指向当前集合的0索引 |
五、Iterator中的常用方法
方法名称 | 说明 |
---|---|
boolean hasNext() | 询问当前位置是否有元素存在,存在返回true ,不存在返回false |
E next() | 获取当前位置的元素,并同时将迭代器对象移向下一个位置,注意防止取出越界。 |
六、迭代器的执行流程
七、增强for循环
既可以遍历集合也可以遍历数组
for(元素数据类型 变量名:数组或者Collection集合){
// 在此处使用变量即可,该变量就是元素
}
Collection<String> list = new ArrayList<>();
for (String ele:list){
System.out.println(ele);
}
八、Lambda表达式遍历集合
一、Collection结合Lambda遍历的API
方法名称 | 说明 |
---|---|
default void forEach(Consumer<? super T> action): | 结合lambda遍历集合 |
Collection<String> lists = new ArrayList<>();
list.forEach(new Consumer<String>(){
@Override
public void accept(String s){
System.out.println(s);
}
});
简化之后
lists.forEach(s -> {
System.out.println(s);
});
// lists.forEach(s -> System.out.println(s));