vs 2008 手机网站开发,鹤壁做网站哪家便宜,舟山公司注册,室内设计素材网站哪个最好如果您了解这一行#xff0c;或者更好的是仍然可以编写此代码#xff0c;则可以说您已经了解了Java 8 Lambda的本质。 当然#xff0c;它们可以与集合一起使用。 我在Peter Lawrey最近的一次演讲中发现了这一点 。 #xff08;有空余时间绝对值得观看整个演示文稿。#… 如果您了解这一行或者更好的是仍然可以编写此代码则可以说您已经了解了Java 8 Lambda的本质。 当然它们可以与集合一起使用。 我在Peter Lawrey最近的一次演讲中发现了这一点 。 有空余时间绝对值得观看整个演示文稿。 无论如何任务是在文件中找到最常见的20个单词 如您所见使用Java 8实际上可以在一行尽管很长中完成。 如果您不习惯使用lambda则代码可能看起来有些吓人但实际上它是声明性的当您通过逻辑时它的读取就很容易了。 package util;import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;/*** Lambdas in one line*/
public class LambdaTest {public static ListString parse(Path path) throws Exception{return Files.lines(path).parallel().flatMap(line - Arrays.asList(line.split(\\b)).stream()).collect(Collectors.groupingBy(w - w, Collectors.counting())).entrySet().stream().sorted(Comparator.comparing(Map.EntryString, Long::getValue).reversed()).limit(20).map(Map.Entry::getKey).collect(Collectors.toList());}public static void main(String... args) throws Exception{System.out.println(parse(Paths.get(args[0])));}
}翻译自: https://www.javacodegeeks.com/2015/04/java-8-lambdas-in-one-line.html