可搜索的Java对象列表

Chr*_*ian 9 java search list

我想创建一个大的(~300,000个条目)类的自定义对象列表Drug.每种药物都有一个ID,我希望能够通过该ID在对数时间内搜索药物.我必须使用什么样的清单?我如何声明它应该可以通过ID搜索?

Eti*_*tel 4

Map 接口的各种实现应该可以满足您的需求。

如果您计划使用 HashMap,请记住覆盖 Drug 类的 hashCode() 方法。

  • 仅当您想将您的类用作“Map”的**键**或者想将其放入“Set”中时,才需要实现“hashCode”和“equals”。如果您只是想将其用作“Map”的值,那么您不需要实现它们。另外:**如果**你实现了 `equals()`,那么你**也必须**实现 `hashCode()`。 (2认同)