Lio*_*cer 4 java data-structures
java中是否有接受键值对并允许重复的本机数据结构?我正在创建一个字符串中的字符清单,但有些字符出现不止一次。
前任
j -> false
a -> false
v -> false
a -> false
Run Code Online (Sandbox Code Playgroud)
您可以通过在映射中保存每个键值 (KV) 对的值列表来模拟多个键值 (KV) 对。这是“多值”映射的标准实现方法。
所以,如果键是一个Character对象,值是Boolean,你可以这样做
Map<Character, List<Boolean>> multimap = new HashMap<Character, List<Boolean>>();
Run Code Online (Sandbox Code Playgroud)
每次您想向地图中的现有 KV 对添加新值时,只需调用
multimap.get(key).add(value);
Run Code Online (Sandbox Code Playgroud)
其中key是字符value及其对应的Boolean值。
该Guava库由Google(免费下载)具有以各种方式实现的Multimap 接口,因此基本上您可以实例化MultiMap<Character, Boolean>地图并相应地使用它。同样,您可以获取Apache Commons Collections库并使用其MultiValueMap类。您可能还想查看类似 StackOverflow 问题或其他问题的答案。
如果您只想为每个键存储每个值中的一个,Set则应使用a代替List.
| 归档时间: |
|
| 查看次数: |
19369 次 |
| 最近记录: |