Java集合排序及java集合类详解:集合框架中常用类比较

 

集合框架 设计软件时,记住该框架四个基本接口的下列层次结构关系会有用处:

  • Collection 接口是一组允许重复的对象。
  • Set 接口继承 Collection ,但不允许重复。
  • List 接口继承 Collection ,允许重复,并引入位置下标。
  • Map 接口既不继承 Set 也不继承 Collection , 存取的是键值对

我们以下面这个图表来描述一下常用的集合的实现类之间的区别:

Collection/Map

接口

成员重复性

元素存放顺序( Ordered/Sorted

元素中被调用的方法

基于那中数据结构来实现的

HashSet

Set

Unique elements

No order

equals()

hashCode()

Hash

LinkedHashSet

Set

Unique elements

Insertion order

equals()

hashCode()

Hash 表和双向链表

TreeSet

SortedSet

Unique elements

Sorted

equals()

compareTo()

平衡树( Balanced tree

ArrayList

List

Allowed

Insertion order

equals()

数组

LinkedList

List

Allowed

Insertion order

equals()

链表

Vector

List

Allowed

Insertion order

equals()

数组

HashMap

Map

Unique keys

No order

equals()

hashCode()

Hash

LinkedHashMap

Map

Unique keys

Key insertion order/Access order of entries

equals()

hashCode()

Hash 表和双向链表

Hashtable

Map

Unique keys

No order

equals()

hashCode()

Hash

TreeMap

SortedMap

Unique keys

Sorted in key order

equals()

compareTo()

平衡树( Balanced tree

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值