java中详解集合跟哈希表_collection集合详解

一:java集合的体系结构如下:

Collection: List和Set继承自Collection接口。

|--List:

|--ArrayList

|--Vector

|--LinkedList

|--Set:

|--HashSet

|--TreeSet

|--LinkedHashSet

|--Queue: 队列集合,有PriorityQueue类

List:有序且允许元素重复。ArrayList、LinkedList和Vector是三个主要的实现类。

Set:不允许元素重复。HashSet和TreeSet是两个主要的实现类。

Map:也属于集合系统,前两个继承至collection接口,Map为独立接口。Map是key对value的映射集合,其中key列就是一个集合。key不能重复,但是value可以重复。HashMap、Hashtable,TreeMap,LinkedHashMap前三个主要的实现类。

TreeMap是有序的,HashMap和HashTable是无序的。

Hashtable的方法是同步的,HashMap的方法不是同步的。这是两者最主要的区别。

Collection的功能概述:

A:添加功能:boolean add(E e)确保此 collection 包含指定的元素(可选操作)。

B:删除功能:boolean remove(Object o)从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。

C:判断功能:

boolean isEmpty()如果此 collection 不包含元素,则返回 true。

boolean contains(Object o)如果此 collection 包含指定的元素,则返回 true

D:获取功能:Iterator iterator()返回在此 collection 的元素上进行迭代的迭代器。

E:长度功能:int size()返回此 collection 中的元素数。

F:交集(了解):boolean retainAll(Collection> c)仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。

G:把集合转数组(了解):Object[] toArray()返回包含此 collection 中所有元素的数组。

— List 有序,可重复

ArrayList

优点: 底层数据结构是数组,查询快,增删慢。

缺点: 线程不安全,效率高

Vector

优点: 底层数据结构是数组,查询快,增删慢。

缺点: 线程安全,效率低

LinkedList

优点: 底层数据结构是链表,查询慢,增删快。

缺点: 线程不安全,效率高

—Set 无序,唯一

HashSet

底层数据结构是哈希表。(无序,唯一)

如何来保证元素唯一性?

1.依赖两个方法:hashCode()和equals()

LinkedHashSet

底层数据结构是链表和哈希表。(FIFO插入有序,唯一)

1.由链表保证元素有序

2.由哈希表保证元素唯一

TreeSet

底层数据结构是红黑树。(唯一,有序)

1. 如何保证元素排序的呢?

自然排序

比较器排序

2.如何保证元素唯一性的呢?

根据比较的返回值是否是0来决定

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值