采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
Hi bobo 老师,
我看到课程官方 github 的 java 实现中是使用 Vector 来实现 SparseGraph 的。我理解不使用数组是因为它没有动态扩容功能,但是 java 中的 ArrayList 和 Vector 一样都具有动态扩容功能,区别就在于是否是线程安全的。所以想问一下老师:
谢谢!
其实当时我在做这个代码的时候没有想那么多啦,主要是因为这个课程最初使用C++讲的,C++中的动态数组是vector,对应在Java中,我就是用Vector了:)
你说的完全正确,Vector和ArrayList的区别是线程安全。不过通常,我们在实现数据结构的时候,不需要考虑线程安全。因为考虑线程安全,会导致数据结构内部效率的降低。只有我们在明确所需要的数据结构需要在多线程环境下使用,需要顾及线程安全的时候,才考虑这一点:)
继续加油!:)
非常感谢!
登录后可查看更多问答,登录/注册
课程专为:短时间内应对面试、升职测评等艰巨任务打造
9.5k 21
6.1k 3
5.6k 5
1.8k 18
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号