3
にマップ我々は、Java 8にコードの下にリファクタリングしようとしている。Java8:フィルタと同じ方法で出力
List<String> list = new ArrayList<>();
Iterator<Obj> i = x.iterator();
while (i.hasNext()) {
String y = m(i.next().getKey());
if (y != null) {
list.add(y);
}
}
return list;
これまでのところ、我々が出ている:
return x.stream().filter(s -> m(s.getKey()) != null).map(t -> m(t.getKey())).collect(Collectors.toList());
しかし、この方法m()
がありますここで2回呼び出されます。周りには道がありますか?