Java10—集合映射

集合

所有的集合都是Collection这个接口的实现子类,Collection又是Iterable的子接口
说明所有的集合都可以被【迭代】

Collection
    函数定义
    boolean add(E e)
    boolean addAll(Collection<? extends E> c)
    void clear()
    boolean contains(Object o)
    boolean containsAll(Collection<?> c)
    boolean equals(Object o)
    boolean isEmpty()
    Iterator<E> iterator()
    boolean remove(Object o)
    boolean removeAll(Collection<?> c)
    int size()
    Object[] toArray()
    子接口
    List 支持角标操作
        函数定义
        void add(int index, E element)
        boolean addAll(int index, Collection<? extends E> c)
        E get(int index)
        int indexOf(Object o)
        int lastIndexOf(Object o)
        ListIterator<E> listIterator() 这个迭代器可以在迭代的过程中进行增删
        E remove(int index)
        E set(int index, E element)
        List<E> subList(int fromIndex, int toIndex)
实现子类(有序不是排序 元素的进入顺序和出来顺序可以一致的)
	ArrayList 允许null值 允许重复值 有序 线程不安全 动态数组
	LinkedList 允许null值 允许重复值 有序 线程不安全 双向循环链表
	LinkedList也是DequeQueue实现子类
	Vector 允许null值 允许重复值 有序 线程安全 动态数组
	Vector基本和ArrayList一致的 只不过是线程安全的
	StackVector子类 特点同Vector
		函数定义
		boolean empty()
		E peek()
		E pop()
		E push(E item)
    Queue 表示队列
        函数定义
        E element()
        boolean offer(E e)
        E peek()
        E poll()
        E remove()
        实现子类
        LinkedList
        ArrayDeque 禁止null值 允许重复值 有序 线程不安全 双向循环队列(数组)
        ArrayDeque也是Deque的实现子类
        PriorityQueue 禁止null值 允许重复值 有序 线程安全 最小堆(数组)
        子接口
        Deque 双端队列
            函数定义
            void addFirst(E e)
            void addLast(E e)
            E getFirst()
            E getLast()
            boolean offerFirst(E e)
            boolean offerLast(E e)
            E peekFirst()
            E peekLast()
            E pollFirst()
            E pollLast()
            E removeFirst()
            E removeLast()
Set 一个不包含重复元素的 collection 不支持角标运算
	实现子类
        HashSet 允许null值 禁止重复值 无序 线程不安全 哈希表+链表(元素过多 红黑树)
     实现子类
        LinkedHashSet 允许null值 禁止重复值 有序 线程不安全 哈希表+双向链表
        TreeSet 禁止null值 禁止重复值 自然排序 线程不安全 红黑树(特殊的AVL树)
Map 区别于Collection体系
    函数定义
    void clear()
    boolean containsKey(Object key)
    boolean containsValue(Object value)
    Set<Map.Entry<K,V>> entrySet()
    boolean equals(Object o)
    V get(Object key)
    boolean isEmpty()
    Set<K> keySet()
    V put(K key, V value)
    V remove(Object key)
    Collection<V> values()
    int size()
实现子类
HashMap 允许null值 键禁止重复 无序 线程不安全 哈希表+链表(元素过多 红黑树)
    HashSet其实就是HashMap的特殊情况
    实现子类
    LinkedHashMap 允许null值 键禁止重复 有序 线程不安全 哈希表+双向链表
        LinkedHashSet其实就是LinkedHashMap的特殊情况
Hashtable 禁止null值 键禁止重复 无序 线程安全 哈希表+链表
    实现子类
    Properties 禁止null值 键禁止重复 有序 安全 哈希表+链表
        放到IO去说 主要用于操作文件数据
TreeMap 禁止null值 键禁止重复 自然排序 线程不安全 红黑树
    TreeSet其实就是TreeMap的特殊情况
ConcurrentHashMap 基本和HashMap一致 但是是线程安全的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值