关于Array中的contains和 BST中的find

来源:2-7 动态数组

三儿弟弟_04355186

2019-09-03

波波老师因为最近看了 Object equals()的源码,发现其实就是两个元素地址的比较,等同于==,所以经常需要根据项目要求overrid equals()。

如果我们向课上所创造的Array,BST中存入复杂类如Car,Person等,我们是否也应该overrid Car Person类中的equals()?从而能得到find(),contains()的准确结果。

写回答

2回答

liuyubobobo

2019-09-03

是的。


但是,这个任务是Car,Person等类的设计任务,不是Array类的设计任务。Array类只能假想用户对于存入Array类的类型,已经正确的实现了equals,在这个基础上,Array类只是调用相应的equals而已:)


继续加油!:)

0
0

Jacian

2019-09-04

是这样。

如果不实现equals则比较hashCode 值;如果实现则按照自己实现的逻辑去比较;

在实际应用中都回去实现 equals 

0
1
三儿弟弟_04355186
哦哦 谢谢
2019-09-04
共1条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程