JAVA集合类总结

JAVA集合类总结

 

l       HashSet:如果集合中对象所属的类重新定义了equals()方法,那么这个类也必须重新定义hashCode()方法,并且保证当两个对象用equals()方法比较的结果为true时,这两个对象的hashCode()方法的返回值相等。

l       TreeSet:如果对集合中的对象进行自然排序,要求对象所属的类实现Comparable接口,并且保证这个类的compareTo()equals()方法采用相同的比较规则来比较两个对象是否相等。

l       HashMap:如果集合中键对象所属的类重新定义了equals()方法,那么这个类也必须重新定义hashCode()方法,并且保证当两个键对象用equals()方法比较的结果为true时,这两个键对象的hashCode()方法的返回值相等。

l       TreeMap:如果对集合中的键对象进行自然排序,要求键对象所属的类实现Comparable接口,并且保证这个类的compareTo()equals()方法采用相同的比较规则来比较两个对象是否相等。

由此可见,为了使应用程序更加健壮,在编写JAVA类时不妨养这样的编程习惯:

l       如果JAVA类重新定义了equals()方法,那么这个类也必须重新定义hashCode()方法,并且保证当两个对象用equals()方法比较的结果为true时,这两个对象的hashCode()方法的返回值相等。

l       如果 JAVA 类实现了 Comparable 接口,那么应该重新定义 compareTo() equals() hashCode() 方法,保证 compareTo() equals() 方法采用相同的比较规则来比较两个对象是否相等,并且保证当两个对象用 equals() 方法比较的结果为 true 时,这两个对象的 hashCode() 方法的返回值相等。

你可能感兴趣的:(JAVA集合类总结)