选择 Java 集合实现的经验法则?
2022-08-31 15:46:56
有没有人有很好的经验法则来选择Java集合接口的不同实现,如List,Map或Set?
例如,通常为什么或在什么情况下我更喜欢使用Vector或ArrayList,Hashtable或HashMap?
有没有人有很好的经验法则来选择Java集合接口的不同实现,如List,Map或Set?
例如,通常为什么或在什么情况下我更喜欢使用Vector或ArrayList,Hashtable或HashMap?
我假设您从上面的答案中知道列表,设置和地图之间的区别。为什么你会在他们的实现类之间进行选择是另一回事。例如:
列表:
设置:
地图:HashMap 和 TreeMap 的性能和行为与 Set 实现并行。
不应使用 Vector 和 Hashtable。它们是同步实现,在发布新的集合层次结构之前,因此速度很慢。如果需要同步,请使用 Collections.synchronizedCollection()。