【14/9/11】Set集合

  今天犯了一个低级错误,我在新建一个class的时候居然把class名字写成了LinkedHashSet,这直接导致我在这个类里面没法使用add(Object obj)方法,还是在百度知道得到的答案。。。。

  

int hashCode()是Set接口的方法


HashSet最常用了,它判断两个元素相等的标准是equals()相等、hashCode()方法也相等.而且涉及一个重写hashCode()的方法:首先根据自身filed得到一个int类型的hashCode值,然后return f1.hashCode()+(int)f2。

LinkedHashSet的特点是输出的顺序和添加顺序一样。

TreeSet可以自动排序,判断相等的标准是compareTo(Object obj)为0,就相等。

自然排序实现的Comparable接口,里面有一个compareTo(Object obj)方法。因此如果使集合按照指定的field排序的话,那就重写这个方法,别忘了implements Comparable接口。

定制排序通过Comparator接口,见书p291例子。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值