集合框架

一.介绍集合框架

Collection接口:

    List接口:有序可重复

        ArrayList: 底层是数组 transient Object[],查快,增删慢。

        LinkedList:底层是链表 Node<E>,查慢,增删快。

        Vector:底层Object数组,ArrayList的同步版,线程安全效率低。
                 Stack 栈是其子类,后进先出。  push、pop、peek

    Set接口:无序不可重复

        HashSet和TreeSet:底层是对应Map实现的,value是固定的一个Object对象,利用Map的key实现不可重复。

    Queue接口:队列,先进先出。在BSF(广度优先搜索)算法中经常用到。
                添加元素:                              add         offer    put      如果队列满了:抛异常、boolean、阻塞
                返回队列头部的元素并移除: remove   poll    take      如果队列为空:抛异常、null、阻塞            
                返回队列头部的元素:            element   peek             如果队列为空:抛异常、null           

    用队列实现栈用栈实现队列

Map接口:

    HashMap:数组+链表。底层:transient Node<k,v>[] table;   Node是一个单向链表;负载因子=0.75,当length>0.75*size时,数组扩容(以空间换时间:比值越小占空间越大查的越快,比值越大占空间越小查的慢)

    HashTable:类似hashMap,有synchronized 线程安全。

    TreeMap:基于红黑树,存储时根据key对节点进行排序,速度不如上面两个,要求有序时才用这个。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值