zoukankan      html  css  js  c++  java
  • 集合

    1   Iterable 接口 有一个方法用于生产迭代器

    public interface Iterable<T> {
        Iterator<T> iterator();
    }
    View Code

    2 Iterator 接口,三个方法, 用于遍历集合元素

    public interface Iterator<E> {
        boolean hasNext();    // 迭代器是否有更多元素
        E next();        //  返回迭代器下一个元素
        void remove();     //   删除上一次返回的元素,
    }
    View Code

    3 Collection 接口  所有非映射关系的父接口

    public interface Collection<E> extends Iterable<E> {
        // Query Operations
        // 返回集合中元素个数,如果个数超过Integer.MAX_VALUE,返回Integer.MAX_VALUE
        int size();
         // 如果集合为空,返回true
        boolean isEmpty();
         // 检测集合中是否有o存在
        boolean contains(Object o);
        // 返回集合迭代器
        Iterator<E> iterator();
        // 返回集合的浅拷贝,并保持迭代器的返回顺序
        Object[] toArray();
          // 返回集合的浅拷贝,并保持迭代器的返回顺序, 并可以指定数组的运行时类型和大小 toArray(new Object[0]) 和 toArray() 在功能上是相同的。 
        <T> T[] toArray(T[] a);
        // 如果集合不允许重复,那加入一个已有元素时返回false
        boolean add(E e);
         // 移除指定元素,如果集合改变,返回true
        boolean remove(Object o);
        // 如果包含指定集合中的所有元素,返回true
        boolean containsAll(Collection<?> c);
        //  加入指定集合所有元素
        boolean addAll(Collection<? extends E> c);
        // 删除集合中指定集合存在的多有元素
     boolean removeAll(Collection<?> c);
       //只保留两个集合中并的元素
      boolean retainAll(Collection<?> c);
     void clear();
     boolean equals(Object o);
    int hashCode();
    }
    
    
        
    View Code

    4 List 接口 继承collect 接口 , 只看自己独有的方

    // 将集合插入指定位置
     boolean addAll(int index, Collection<? extends E> c);
    // 返回指定位置元素
    E get(int index);
    //改变指定位置元素
    E set(int index, E element);
    插入指定位置指定元素
    void add(int index, E element);
    删除指定位置元素
    E remove(int index);
    返回指定元素出现的第一个位置 ,如果没出现返回-1
    int indexOf(Object o);
    返回指定元素出现的最后一个位置
    int lastIndexOf(Object o);
    返回迭代器
    ListIterator<E> listIterator();
    从指定位置返回迭代器
    ListIterator<E> listIterator(int index);
    返回指定范围列表视图 【a,b)
    List<E> subList(int fromIndex, int toIndex);
    View Code

    5 ListIterator  迭代器 继承 Iterator 只看自己独有的方法

    public interface ListIterator<E> extends Iterator<E> {
    如果逆向遍历,是否有元素
     boolean hasPrevious();
    返回列表前一个元素
    E previous();
    返回下一个元素下标
    int nextIndex();
    用指定元素替换 next 或 previous 返回的最后一个元素(可选操作)。
    void set(E e);
    添加指定元素,next下一个元素前previous后面。
    void add(E e);
    View Code

    6 RandomAccess  随机访问接口 实现此接口的集合用for迭代比较好

    7  Cloneable  可被克隆接口,调用对象的clone方法必须实现此接口

    8 Serializable  可序列化接口

  • 相关阅读:
    asp.net过滤数据中有异常数据字符串
    微信内置浏览器的 User Agent的判断
    最近突然想了很久还是开博每天写点什么
    Sonar-scanner 插件配置应用
    存clob的值
    动态代理
    在oracle函数中不可直接将变量作为sql语句中的参数
    按照行、列进行统计(按两个维度进行统计)
    查询关联不上的数据,三张表查询
    前台页面——js/jq循环
  • 原文地址:https://www.cnblogs.com/whesuanfa/p/7353779.html
Copyright © 2011-2022 走看看