Java8部分集合类接口API总结

Posted rotk2015

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java8部分集合类接口API总结相关的知识,希望对你有一定的参考价值。

  1. API得背熟!!!

  2. interface Collection < E >:

    1. int size(),boolean isEmpty()
    2. boolean add(E e),boolean remove(Object o),Object[] toArray()
  3. interface List< E >,Queue< E >,Set< E >继承Collection< E >,存储单值元素;而interface Map< K,V >独立定义存储键值对

  4. interface List< E >,有序(不一定要支持随机访问)(允许重复元素,相比于Set)

    1. E get(int index),E set(int index, E element),void add(int index, E element),E remove(int index)
    2. int indexOf(Object o),int lastIndexOf(Object o)
  5. interface Queue< E >,一端插入,一端删除(Java并未规定Queue接口实现类必须先入先出,只是将其描述为:A collection designed for holding elements prior to processing。因此我们可将其理解为,一个需要频繁插入删除元素的数据结构),不支持从中间插入删除访问元素

    在这里插入图片描述

    1. 对于有固定容量的Queue,offer失败返回false,add抛出异常;
    2. 对于空Queue,poll、peek返回null,remove、element抛出异常。
  6. interface Set< E >:不允许出现重复元素,无序

  7. interface Map< K,V >,存储键值对Key无序,不可重复):

    1. int size(),boolean isEmpty()
    2. V put(K key, V value),V get(Object key),V remove(Object key),均支持返回null
    3. boolean containsKey(Object key),boolean containsValue(Object value)
    4. Set< K > keySet(),Collection< V > values(),Set<Map.Entry<K, V>> entrySet(),视图操作,视图与原数据仍存在对应关系
  8. interface Deque< E >继承自Queue< E >,每一端都能进行插入删除操作,其结构使其天然支持Stack方法push(),pop()
    在这里插入图片描述
    在这里插入图片描述

  9. List——public class ArrayList< E >:数组实现随机存取支持null

  10. List + Deque——public class LinkedList< E >:双向链表索引访问支持null

  11. Deque——public class ArrayDeque< E >:循环数组实现,不支持索引访问不支持null

  12. Map——public class HashMap< K,V >:数组+链表红黑树,支持null key/value

  13. Set——public class HashSet< E >:HashMap实现,由于HashMap的key不可重复,故天然的满足了Set的要求。

以上是关于Java8部分集合类接口API总结的主要内容,如果未能解决你的问题,请参考以下文章

Java8部分集合类接口API总结

Java集合类总结

基础总结/集合/collection总结

JavaSE高级之集合类

Java集合总结:列表和队列

Java语言中的集合框架总结