【发布时间】:2017-02-09 03:45:46
【问题描述】:
我对流有所了解,并且知道可以使用它们来代替循环。对于这个玩具示例,我使用图形数据库来存储一组字符串。 dB 将它们存储为顶点。我想检索这些顶点并将它们转换为字符串,而不是使用流。每个顶点都有一组属性;我给它一个键,它返回一个值。如果一个顶点具有我正在寻找的属性,我将它添加到列表中。如果不是,我存储顶点 ID。
我有一个 for 循环,但我不确定如何改用流。代码如下:
public List<String> getItems() throws Exception {
Iterable<Vertex> myNodes = graph.getVertices();
List<String> myItems = new ArrayList<>();
// maybe there is a way to use stream API instead?
for(Vertex v : myNodes)
{
String value = v.getId().toString();
if(v.getPropertyKeys().contains(key))
{
value = v.getProperty(key);
}
myItems.add(value);
}
return myItems;
}
【问题讨论】:
标签: java-8 java-stream