我正在尝试在 jython 中使用 java 8 流和集合,以查看它们在纯 jython 中实现时是否有效。在我看来它可以(对此也有任何评论)
我从一些例子开始,计数
from java.util.function import Function
from java.util import ArrayList
from java.util.stream import Collectors
letters = ArrayList(['a','b','a','c']);
cnt=letters.stream().collect(Collectors.groupingBy(Function.identity(),
Collectors.counting()))
打印 cnt 作为字典 {u'a': 2L, u'b': 1L, u'c': 1L}
到目前为止,一切都很好。接下来,我找到了一个在 java 中对流使用过滤器的示例
List<String>strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl");
//get count of empty string
int count = strings.stream().filter(string -> string.isEmpty()).count();
这将如何转化为 jython。具体来说,如何在 jython 中编写像 string -> sting.isEmpty() 这样的 java lambda 表达式?