apache-commons - Apache Commons Collections 是否有 ListValuedTreeMap?
问题描述
我正在尝试找到 MultiValuedTreeMap 的预构建实现。简而言之,我需要一个键来通过使用列表映射到多个值。然后我需要将每个键存储在一个排序的结构中,我想应该是一个树形图——因此得名。
我发现的最接近的是 ArrayListValuedHashMap:https ://commons.apache.org/proper/commons-collections/javadocs/api-4.4/index.html
但是,我没有看到使用 TreeMap 而不是 HashMap 的版本。
我是 Apache Commons 库的新手,所以如果问题很明显/已经解决,请原谅我。
我也知道我自己可以相对轻松地实现这一点,但如果它已经存在,我不想重新发明轮子。
解决方案
没有直接实现ListValuedTreeMap
开箱即用。将具体实现List
或传递Map
到ListValuedMap
预期类AbstractListValuedMap
来自 javadoc:
子类指定用作内部存储的 Map 实现和用作值的 List 实现。
的通用实现ListValuedTreeMap
可以这样实现:
public class ListValuedTreeMap<K extends Comparable<K>, V> extends AbstractListValuedMap<K, V> {
public ListValuedTreeMap() {
super(new TreeMap<>());
}
@Override
protected List<V> createCollection() {
return new ArrayList<>();
}
}
推荐阅读
- elasticsearch - 在发电机上被删除后如何删除弹性搜索中的值?(应用同步和放大)
- android - 如何在recyclerview中使新触摸或选定的项目边框可见,而先前选择/触摸的项目边框不可见?
- raspbian-buster - obs-studio 在 Raspbain Buster 上构建失败
- c - 如何输入所有测试用例,然后在执行结束时输出所有测试用例的结果
- python - 尝试运行测序分析包 ScaleHD 时如何避免语法错误
- swiftui - 在 swiftui 中创建时间线视图会打乱对齐
- java - 解析 xml url 时无法找到请求目标的有效证书路径
- laravel - 如何统计laravel中的数据使用关系?
- php - mysql 在别名上使用 order by 时响应时间过长
- python - 周期性傅里叶变换信号的频域