如何在Java中从列表中获取特定的列列表而无需循环
我有一个从数据库中检索的列表,我想为其获取特定列的所有数据如何在Java中从列表中获取特定的列列表而无需循环,java,Java,我有一个从数据库中检索的列表,我想为其获取特定列的所有数据 List<Contact> contacts = service.getContacts(); 如何从检索到的联系人列表中获取账号列表而不进行循环 提前感谢。你基本上无法做到这一点,除非进行某种迭代。但是,流可以很容易地做到这一点: List<String> accNumbers = contacts.stream() .map(c ->
List<Contact> contacts = service.getContacts();
如何从检索到的联系人列表中获取账号列表而不进行循环
提前感谢。你基本上无法做到这一点,除非进行某种迭代。但是,流可以很容易地做到这一点:
List<String> accNumbers = contacts.stream()
.map(c -> c.getAccNumber())
.collect(Collectors.toList());
List accNumbers=contacts.stream()
.map(c->c.getAccNumber())
.collect(Collectors.toList());
流仍然在后台进行迭代,但至少它隐藏了使用显式循环的一些繁琐之处。没有循环是无法做到这一点的。一个可能的解决方案是根据查询本身的需要过滤结果,但数据库也将使用循环,因此您有点卡住了。您可以通过更新数据库查询来实现这一点,只选择columnStreams在hoodUm下使用循环…我的回答清楚地表明,没有迭代就无法做到这一点。我将在我的回答中添加一个声明,即streams在引擎盖下循环。
List<String> accNumbers = contacts.stream()
.map(c -> c.getAccNumber())
.collect(Collectors.toList());