美文网首页
11、持有对象

11、持有对象

作者: whyshang | 来源:发表于2017-02-14 14:02 被阅读0次

    一、基本概念

    • 容器类类库的用途是保存对象
      1、Collection:一个独立元素的序列
      2、Map:一组成对的“键值对”对象,允许你用键来查找值。映射表,允许我们用另一个对象来查找某个对象,它也被称为关联数组。
    • 集合方法Collection
    1、添加
    boolean add(E e)  添加1个 
    boolean addAll(collection<? extends E> c) 添加指定容器中的所有元素
    2、删除
    void clear()  清空所有
    boolean remove(Object o) 删除一个
    boolean removeAll(collection<? extends E> c) 删除指定容器中的所有元素
    boolean retainAll(collection<? extends E> c) 移除指定容器中不同的元素
    3、获取长度
    int size()
    4、判断
    boolean isEmpty() 是否为空  
    boolean contains(Object o) 包含某个元素
    boolean containsAll(Collection<? extends E> c)包含某个指定容器中的元素
    5、将集合转成数组
    Object[] toArray()
    6、取出集合元素
    Iterator iterator()
    获取集合中元素上迭代功能的迭代器对象
    

    迭代:取出元素的一种方式
    迭代器:具备迭代功能的对象。NoSuchElementException
    迭代器是取出Collection集合元素的公共方式

    二、List(有序的Collection)

    • List<E>特有的方法(围绕索引来定义)
    1、添加元素
    void add(int index, E element) 在List指定位置添加元素
    void addAll(int index, Collection<? extends E> c)
    2、获取元素
    E get(int index)  获取元素
    List<E> subList(int fromIndex, int toIndex)  获取指定位置之间的元素
    3、删除
    boolean remove(int index)  移除列表指定位置的元素
    4、修改
    E set(int index, E element)  用指定元素替换列表中指定位置的元素
    5、获取索引
    int indexOf(Object o)  获取第一次出现指定元素的索引
    int lastIndexOf(Object o)  获取最后一次出现指定元素的索引
    6、取出集合元素
    ListIterator listIterator(int n)  指定返回第一个元素的索引值
    
    • List承诺可以讲元素维护在特定的序列中。可以对List中每个元素的插入位置进行精确控制。
    • 1、ArrayList,长于随机访问元素,但进行插入和移除操作时较慢
      2、LinkedList,通过较低代价的在List中进行插入和删除操作,提供了优化的顺序访问。功能较强。

    三、迭代器

    • 迭代器设计模式:迭代器(Iterator)是一个对象,它的工作是遍历并选择序列中的对象。
      迭代器通常被称为轻量级对象,创建它的代价小
    • 使用迭代器:
    1、使用方法iterator()要求容器返回一个Iterator。Iterator将准备好返回序列的第一个元素
    2、使用next()获得序列的下一个元素
    3、使用hasNext()检查序列中是否还有元素
    4、使用remove()将迭代器新近返回的元素删除
    
    • 特殊的迭代器 ListIterator<E>,可以双向移动
      新增方法
    void add(E e)  插入元素
    boolean hasPrevious()  逆向遍历
    int nextIndex()  返回对next后续调用元素索引
    int previousIndex()  返回对previous后续调用元素索引
    E previous()  返回列表前一个元素
    void set(E e)  用指定元素替换返回的元素
    

    四、LinkedList<E>

    • LinkedList,通过较低代价的在List中进行插入和删除操作,提供了优化的顺序访问。功能较强。
      添加了可以使其用作栈、队列、或双端队列的方法。
      新增方法
    1、添加元素
    void addFirst(E e)  将指定元素插入此列表开头
    void addLast(E e)  将指定元素插入此列表结尾
    boolean offerFirst(E e)  在此列表开头插入指定元素
    boolean offerLast(E e)  在此列表结尾插入指定元素
    2、获取元素
    E getFirest();  返回列表的第一个元素
    E getLast();  返回列表的最后一个元素
    3、删除元素
    E removeFirst()  移除并返回列表第一个元素
    E removeLast()  移除并返回列表最后一个元素
    boolean removeFirstOccurrence(Object o)  移除此列表第一次出现的指定元素
    boolean removeLastOccurrence(Object o)  移除此列表最后一次出现的指定元素
    4、Queue集合的方法
    E element();  返回列表的第一个元素
    boolean offer(E e);  将指定元素添加到列表的末尾
    E peek();  同 element(),但是在列表为空时返回null
    E  poll(); 同remove(), 移除并返回列表第一个元素,但是在列表为空时返回null
    5、迭代器
    

    五、Set<E>

    • Set不保存重复的元素,它会阻止这一现象。
      Set常用来测试归属性,可以很容易的询问某个对象是否在Set中,所以查找成为了Set中最重要测操作。
      HashSet,专门对快速查找进行了优化
    • Set就是Collection,只是行为不同。Set是基于对象的值来确定归属性的。

    六、Map<K,V>

    • 将对象映射到其他对象的能力是一种解决编程问题的杀手锏。
      Map<K,V>基本方法
    1、取值
    V get(Object key);  返回指定键所对应的值
    Set<K> keySet();  返回此映射中包含的 键 的Set视图
    Set<Map.Entry<K,V>> entrySet(); 返回此映射中包含的映射关系的Set视图
    Collection<V> values();  返回此映射中包含值的Collection视图
    2、关联
    V put(K key, V value)将指定的键与值关联
    void putAll(Map, m)  从Map中复制映射
    3、删除映射关系
    V remove(Object k)  删除指定键的映射关系
    4、总数
    int size()
    5、判断
    boolean containsKey(Object Key)
    boolean containsValue(Object Key)
    

    相关文章

      网友评论

          本文标题:11、持有对象

          本文链接:https://www.haomeiwen.com/subject/bklxwttx.html