Java核心技术——集合

Java集合框架

  1. Collection接口

    boolean add(E element)

    Iterator iterator()

    int size()

    retainAll

    toArray()

    实现了Iterable接口

  2. 迭代器

    E next();

    boolean hasNext();

    void remove();需要依赖next方法

    forEachRemaining(Consumer<? super E> action)迭代对每一个元素发出action行为

    “for each “循环可以处理任何实现了Iterable接口的对象,这个对象只包含一个返回迭代器的抽象方法:Iterator<E> iterator

集合框架中的接口

  1. List

    add(index, element)

    remove(index)

    get(index)

    set(index, element)

    addAll(int i, Collection< ? extends E> elements)

  2. 链表(Java中都是双向链表)

    add(e)只能将元素加到尾部

    getFirst()

    getLast()

    removeFirst()

    removeLast()

    Iterator接口没有提供add方法

    ListIterator继承了Iterator提供了add方法,此方法和remove都依赖next和privous所指定的元素

  3. 散列集

    散列集是用链表数组实现的, 每个列表被称为桶

    1. HashSet()、HashSet(Collection<? extends E> elements)
  4. 树集 TreeSet每次只能操作最小的元素

    TreeSet()、TreeSet(Comparator<? super E> comparator)

    SortedSet f

    first()、last()

    NavigableSet

    higher(E value)返回大于value的值

    lower(E value)返回小于value的值

  5. 队列和双端队列

  6. 优先队列PriorityQueue

映射

  1. 基本操作

    put()参数为键值对

    get(id)

    getOrDefault(id, var)

    forEach(lambda)

    Map.Entry<E e, T t>表示映射条目的类, getKey()、getValue()、setValue()

    Set<Map.Entry<E, T>> entrySet()

    Set keySet()

    Collection values()

视图和包装器

  1. 小集合

    List和Set的of方法
    Map提供的ofEntries方法用于创建一个被初始化的集合
    
  2. 子范围

    List的subList(from, to)左闭右开
    Set的subSet(from, to)、headSet(to)、tailSet(from), Map和Set类似
    

算法

Collections接口的静态公开sort方法、容器自带的sort方法可指定实现

Collection包含了一些常用的简单的方法

posted @   chanxe  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!
点击右上角即可分享
微信分享提示