Java 列出1对N对1关系的内部项的更好习惯用法?

Java 列出1对N对1关系的内部项的更好习惯用法?,java,guava,Java,Guava,我有以下型号: 1 RepositoryDTO可以有多个ResourceDTO,每个ResourceDTO中都有一个TeamDTO 因此,为了从RepositoryDTO获取TeamDTO,我将执行以下操作: RepositoryDTO repoDTO = ... List<TeamDTO> teamsLinkedToRepo = getTeamsLinkedTo(repoDTO); private List<TeamDTO> getTeamsLinkedTo(fina

我有以下型号:

1 RepositoryDTO可以有多个ResourceDTO,每个ResourceDTO中都有一个TeamDTO

因此,为了从RepositoryDTO获取TeamDTO,我将执行以下操作:

RepositoryDTO repoDTO = ...
List<TeamDTO> teamsLinkedToRepo = getTeamsLinkedTo(repoDTO);

private List<TeamDTO> getTeamsLinkedTo(final RepositoryDTO repository) {
    final List<TeamDTO> teamsLinkedToRepository = new ArrayList<TeamDTO>();
    for (final ResourceDTO resourceDTO : repository.getResources()) {
      teamsLinkedToRepository.add(resourceDTO.getTeam());
    }
    return teamsLinkedToRepository;
}
RepositoryDTO repoDTO=。。。
List teamsLinkedToRepo=getTeamsLinkedTo(repoDTO);
私有列表getTeamsLinkedTo(最终存储到存储库){
最终列表teamsLinkedToRepository=新建ArrayList();
for(最终资源到资源到:repository.getResources()){
teamsLinkedToRepository.add(resourceDTO.getTeam());
}
返回团队链接到位置;
}

我只是想知道有没有更好的习惯用法,比如使用谷歌番石榴?

让简单的事情变得简单。

我们在一个项目中过度使用谷歌番石榴。虽然代码更少,读取速度更快,但调试时却成了一场噩梦。因此,我建议不要使用它,除非你从中获得了巨大的优势(简单的for循环不会因此变得更好)


使用纯Java,这是很好的代码。没有必要改进它。

< P>克里斯的好代码,只有一个小的改变,如果且仅当可能的话,如果团队的数量可能很大,你可能希望考虑使用新的<代码> ARAYLIST(整数)初始化新的<代码> ARAYLIST/<代码>,以避免底层的数组被重建。可能:

  new ArrayList<TeamDTO>(repository.getResources().size());
newarraylist(repository.getResources().size());

我假设一个团队可以有多种资源,不是吗?那么您至少应该使用
集合
而不是
列表
+1来正确使用final.)你的代码看起来不错。在java中没有更好的方法来实现这一点。