我需要存储一个字符串列表,并且需要检查列表中是否存在字符串。数据结构只保存键(不关心值)
我通常只会使用一些地图用钥匙和布尔...即
HashMap map<String,Boolean> = new HashMap<String,Boolean)()
而只是做一个map.contains(string)
这是那种我一直做这几样查找的方式在过去,因为我知道使用地图将是O(1)访问。
我知道这可能是挑剔和不重要的,但我只是好奇,如果有一些结构是在那里,将保存该布尔值。只是看起来像浪费了内存,因为我不在乎虚假的价值,因为如果钥匙不存在就等于虚假。
我在想也许指向一个关键字null
会做我想做的,但我想知道是否有某种数据结构这样做。
有趣,所以假设性能会更快通过使用散列表空值? – K2xL 2012-03-02 21:21:46
@ K2xL为什么使用空值映射使用空值映射? – NominSim 2012-03-02 21:43:45
这不是一个HashMap其中的值为null。值是Object。 –
chicout
2012-03-02 21:53:48