Java集合框架

集合框架:分为Collection接口和Map接口

·Map接口:key-value键值对集合,键key唯一,值value允许重复

·Map接口常见实现类:

  HashMap:无序,数据结构:数组+链表+红黑树

  LinkedHashMap:有序,数据结构:数组+链表+红黑树,相较于HashMap多维护了一条双向链表。

  TreeMap:按照key自动排序,数据结构:红黑树--有序的自平衡二叉树

  Hashtable:无序、线程安全,性能低、((不允许使用null做key、不允许使用null做value)会导致空指针异常),数据结构:数组+链表

·Collection接口是一个单列集合,他的子接口有List接口和Set接口

·Set接口:是一个具体实现类,特点:无序,值唯一(不允许重复)

 具体实现类:①HashSet类 ②LinkedHashSet类 ③TreeSet类

①HashSet类:特点:无序、值唯一,数据结构:HashMap

②LinkedHashSet类:特点:有序、值唯一,数据结构:LinkedHashMap

③TreeSet类:特点:自动排序、值唯一,数据结构:TreeMap

·List接口:特点:有序,允许重复

  具体实现类:①ArrayList类②LinkedList类③Vector类

①ArrayList类:

数据结构:Object[] elementDate ,扩容:无参构造方法,数组的容量初始化为空,添加第一个元素时,数组的容量扩容为10,当容量不足时,数组的容量按照1.5倍扩容。

  特点:适合遍历、查找

  常用方法:add(E  e):添加新元素

        add(E  e):添加新元素至集合的指定位置

        addAll(Collection c):将c中的所有元素添加至list集合的尾部

addAll(int index,Collection c):将c中的所有元素添加至list集合的指定位置

get(int index):按照下标位置,获取元素

remove(int index):按照下标,删除元素

remove(Object value):按照值,删除元素

indexOf(Object o):按照值,查找元素下标

set(0, "范47"):修改元素

②LinkedList类:

  数据结构:双向链表、链表由若干个Node对象组成、链表不扩容,每次添加元素时,都创建一个Node,并加入链表。

  特点:适合插入、删除

  常用方法:add():将新元素添加至链表的尾部

            addFirst():将新元素添加至链表的头部

addLast():将新元素添加至链表的尾部

get():根据元素的下标位置,在链表中通过遍历,查找获取元素

getFirst():获取链表的头元素

getLast():获取链表的尾元素

remove():根据下标或值,在链表中删除元素

removeFirst():删除链表的头元素

removeLast():删除链表的尾元素

③Vector类:

  数据结构:Object[] elementDate

  特点:线程安全

  子类:Stack类:特点:Stack是一个”栈”的实现类,具备First In Last Out先进后出的特点。

                常用方法:push(E item):添加新元素(向栈顶添加)

                          E  pop():获取元素(从栈顶获取并删除)

                          E  peek():获取元素(从栈顶获取)

  • 26
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值