我想在 Java 哈希映射中存储大约 500 万个唯一字符串。键和值将是相同的字符串。字符串最大长度为 15 个字符(ASCII)。稍后我想查找哈希映射中是否存在特定字符串。
我是否需要担心上述情况的内存大小问题。我猜它不需要超过 75 mb 到 150 mb 的内存。
提前致谢。
键和值将是相同的字符串。
Map
当其键和值相同时使用 a是多余的。您应该使用 aSet
代替,特别是如果您只打算使用contains
.
关于您对空间的担忧,让我们假设每个String
都有 15 个字符的长度。
假设您使用的是 Java 9,Latin 1 字符只需要一个 . byte
,因此 500 万个唯一String
s 最多需要75_000_000
字节或75 MB
.
Java 8 及以下版本使用 支持它们的String
s char[]
,因此在这种情况下,您基本上需要两倍的内存。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句