1.存入Set的每个元素都必须是唯一的,Set不保存重复元素,加入Set的元素必须定义equals()方法以确保对象的唯一性。
2.HashSet是为快速查找而设计的,它对速度进行了优化,存入HashSet的元素必须定义hashCode()方法。
3.LinkedHashSet具有HashSet的查询速度,且内部使用链表维护元素的顺序(插入的顺序),元素也必须定义hashCode()方法。
4.TreeSet是保持次序的Set,底层为树结构。使用它可以从Set中提取有序的序列。元素必须实现Comparable接口。
对于良好的编程风格而言,你应该在覆盖equals()方法时,总是同时覆盖hashCode()方法。
网友评论