欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【JavaSE】《.集合》Collection接口

程序员文章站 2022-07-04 20:20:36
...

总体框架图:
【JavaSE】《.集合》Collection接口
【JavaSE】《.集合》Collection接口

一、Collection接口

1. Collection接口源码

public interface Collection<E> extends Iterable<E> {
   //返回大小
    int size();
    
    //是否为空
    boolean isEmpty();
    
    //是否包含
    boolean contains(Object o)
        
    //返回迭代器    
    Iterator<E> iterator();
    
    //集合转换为数组
    Object[] toArray();

    //转换为对应泛型的数组
    <T> T[] toArray(T[] a);

    //添加
    boolean add(E e);

    //移除指定元素
    boolean remove(Object o);

     //将 other 集合中的所有元素添加到这个集合,如果由于这个调用改变了集合 , 返回 true
    boolean addAll(Collection<? extends E> c);
   
    

    //从这个集合删除 filter 返回 true 的所有元素
    default boolean removeIf(Predicate<? super E> filter) {
        Objects.requireNonNull(filter);
        boolean removed = false;
        final Iterator<E> each = iterator();
        while (each.hasNext()) {
            if (filter.test(each.next())) {
                each.remove();
                removed = true;
            }
        }
        return removed;
    }

   //是否存在交集。从这个集合中删除所有与 other 集合中的元素不同的元素 。
    boolean retainAll(Collection<?> c);
    
    //清空
    void clear();  
    
    boolean equals(Object o); 
    
    int hashCode();
    
    @Override
    default Spliterator<E> spliterator() {
        return Spliterators.spliterator(this, 0);
    }
  
    default Stream<E> stream() {
        return StreamSupport.stream(spliterator(), false);
    }
 
    default Stream<E> parallelStream() {
        return StreamSupport.stream(spliterator(), true);
    }
}

2. 迭代器介绍

详情请看另一篇博客,Iterator迭代器介绍

3. 遍历集合的方式

方式一:集合转数组。使用普通for循环

方式二:使用Collection接口定义的迭代器

方式三:使用实现集合类独有的遍历方式,

  • 如 Arraylist可以使用下标进行普通for循环,增强for、迭代器
  • LinkedList支持普通for( list.get(index);)、增强for、迭代器
  • Set只能使用 iterator 迭代器遍历、
  • Map遍历则有5种方式(键值对EntrySet、迭代器、keySet+values、通过键找值的传统方式、正则表达式)
  • Map的四种遍历方式:https://www.cnblogs.com/damoblog/p/9124937.html

4. 集合与数组之间的转换

List与数组的转换:https://www.cnblogs.com/quanqi-yhz/p/11023955.html

5.接口、实现类架构图

【JavaSE】《.集合》Collection接口【JavaSE】《.集合》Collection接口【JavaSE】《.集合》Collection接口
相关标签: Java