java 8 List <pair <string,integer =“”>&gt;列出<string>

时间:2017-09-21 07:53:46

标签: java java-8

有一个List&gt;:

List<Pair<String, Integer>> list =new ArrayList<>();

对是javafx.util.Pair,它有一个键和一个值。 和

Integer tmp;

我应该如何通过java 8流获取Pair.getValue() >=tmp的所有字符串?

2 个答案:

答案 0 :(得分:5)

像这样的东西,没有编译它,因为我不知道Pair是什么;但假设它有两个部分leftright并且有吸气剂。

list.filter(p -> p.getRight() >= tmp)
    .map(Pair::getLeft)
    .collect(Collectors.toList());

答案 1 :(得分:0)

list.stream()
    .filter(p -> p.getValue() >= tmp)
    .map(pair -> pair.getKey())
    .collect(Collectors.toList())

其中map可以更改为静态方法引用,如Pair :: getValue

由于这将返回一个流而您很可能想要返回一个List,您需要将其转换为带有.collect(Collection.asList())的列表