Sets的使用

Set拥有与Collection完全相同的接口,所以和两种不同的List不同,它没有什么额外的功能。相反,Set完全就是一个Collection,只是具有不同的行为。在这里,一个Set只允许每一个对象存在一个实例。

Set(接口)添加到Set的每个元素都必须是独一无二的,否则Set就不会添加重复的元素。添加到Set里的对象必须定义equals(),从而建立对象的唯一性,一个Set不能保证自己可按任何特定的顺序维护自己的元素

HashSet*用于除非常小的以外的所有Set,对象也必须定义hashCode();使用散列函数进行排序,这是特别为快速检索设计的。

ArraySet 由一个数组后推得到得Set,面向非常小得Set设计,特别是那些需要频繁创建和删除的。对于小Set,与HashSet相比,ArraySet创建和反复所需付出得代价都小得多。但随着Set得增大,它的性能也会大打折扣不需要HashCode()。

TreeSet 由一个“红黑树”后推得到得顺序Set,这样一来,我们就可以从一个Set里提到一个顺序集合

(例程:Set1, Set2)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值