gpt4 book ai didi

java - Java 中是否有使用泛型的多对多集合(域模型,而不是持久层)?

转载 作者:太空狗 更新时间:2023-10-29 22:41:29 26 4
gpt4 key购买 nike

我似乎在 Google 中使用了错误的搜索词...

我已经为多对多关联编写了一个通用类,但我猜这已经完成了。它很可能存在于比我自己的更好的实现中。这是我第一次尝试编写泛型类。

为了更好地了解我在寻找什么,我包含了一些我自己的片段:

我用 2 个 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>();

一些可用的方法:

  • public void addAssociation(T t, S s)
  • public void removeAssociation(T t, S s)
  • 公共(public)列表 getListOfTs()
  • 公共(public)列表 getListOfSs()
  • 公共(public)列表 getTsForSs(S s)
  • 公共(public)列表 getSsForTs(T t)

这些方法的名称很糟糕......我道歉。

基本用法是:我可以很容易地找到所有 S 和 T 的反面。

您能否发布指向已包含此功能的完善库的链接?

最佳答案

到目前为止,这个问题没有我想象的那么简单。我想到的两个 Java Collections 扩展是 duffymo 提到的 Google 扩展,以及 Apache Commons Collections。 .两者都没有多对多映射。在 Google 的术语中,它将是一个 BiMultiMap;在 Apache 中,它将是 BidiMultiMapMultiBidiMap

关于java - Java 中是否有使用泛型的多对多集合(域模型,而不是持久层)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/473862/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com