我似乎在谷歌中使用了错误的搜索词...
我已经为多对多关联编写了一个泛型类,但我猜这已经完成了。它很可能存在于比我自己的实现更好的实现中。这是我第一次尝试编写泛型类。
为了更好地了解我正在寻找的内容,我提供了一些我自己的代码片段:
我用两个hashmap来支持它:
private final Map<T, List<S>> ssForTs = new HashMap<T, List<S>>();
private final Map<S, List<T>> tsForSs = new HashMap<S, List<T>>();
下面是实例化:
new ManyToManyAssociations<Integer, Integer>();
以下是一些可用的方法:
<
这些方法的名称非常糟糕……我很抱歉。
基本用法是:我可以很容易地找到T的所有S,反之亦然。
你能把这个链接发布到一个已经包含这个功能的精美的库中吗?
发布于 2009-01-23 19:42:00
到目前为止,这个问题并不像我想象的那么微不足道。我脑海中浮现的两个Java Collections扩展是duffymo提到的Google one和Apache Commons Collections。两者都没有多对多映射。在谷歌的术语中,它应该是一个BiMultiMap
;在Apache的术语中,它应该是一个BidiMultiMap
或MultiBidiMap
。
发布于 2009-01-23 17:53:30
看起来Apache Commons Multimap可能会有用。
编辑:,除了它是一对多,而不是多对多。然而,用它来代替你的Map<T, List<S>>
和Map<S, List<T>>
,或者作为一个参考,可能还是很方便的。
https://stackoverflow.com/questions/473862
复制相似问题