我在很多代码中都使用了地图,我发现对于有效的排序和搜索,地图非常有用。我喜欢使用它们,因为它们是我即时想到的最有效的方法。
我有很多东西都简单地存储为字符串,希望以后可以查找。我不需要使用这些字符串存储任何其他信息,我主要只是希望能够进行一个存储字符串的集合,并且可以立即查找它们。例如,一个名称列表(我使用了很多反射,因此使用类参数的名称是我正在执行的示例。)我的问题是,是否有一个不同的集合可以让我查找不需要存储“值?”的字符串。我一直在制作地图,其中键是I.E. Map <String,String>
,其中String键= String值,这似乎浪费内存。无论如何,我只想要密钥,不需要存储我想要的副本。当然,必须有一些我没有想到的功能。我尝试在Google搜索中搜索“是否使用具有其值的键的哈希图是个坏主意?”我尝试在堆栈溢出时搜索类似的内容。与这个特定问题无关,可能是因为我很愚蠢,并且使用错误的东西来存储我的字符串。无论哪种方式,目标都是要使用更少的空间来容纳我可以查找的字符串的集合。没有键值的Hashmap,因为键是值。如果键等于该值实际上并没有影响使用的内存量,那就可以了,但我认为可以。
是否可以制作地图<String,null>
?也许我能以某种方式得到密钥,并且由于该值为null不会占用任何额外的存储空间?我不知道如何找出影响内存空间的因素,什么没有影响。