java如何在没有arrayList的情况下查找对象
我目前正在开发一个程序,其中有大量的对象(元素周期表中的所有元素),如果要为100多个对象创建一个列表,那将是一件非常痛苦的事情。是否有任何方法可以一次性声明和实例化所有对象,并让一个方法读取它们所在的类?例如,如果用户输入“He”,我可以找到包含元素符号“He”的对应对象?我必须能够使用getSymbol方法检查每个对象,该方法返回其符号,然后将其与输入进行比较。在那之后,我计划使用分配给物体的其他场,比如摩尔质量来进行计算,但这不会成为问题。如果有其他有效的方法,我们将不胜感激
# 1 楼答案
您应该将所有内容存储到一个
Map
中,其中elementSymbol
作为键,您的object
作为值,然后您将能够通过调用map.get(elementSymbol)
来访问您的对象有关类
Map
here的更多详细信息# 2 楼答案
由于对象的数量是恒定的,因此最好使用enum管理它们:
获取:
# 3 楼答案
不知道为什么您不喜欢使用ArrayList,它是满足您需求的完全有效的解决方案。考虑到周期表的常量性质,我认为使用枚举是更好的解决方案,但是我添加了这个列表答案,利用streams API实现完整性
# 4 楼答案
您可以为此使用
hashmap