小编Sou*_*ker的帖子

此Lambda表达式的说明

我正在创建一个Word Comparison类,它也会计算单词的出现次数.(这是Java)

这是我原来的方法:

/**
 * @param map The map of words to search
 * @param num The number of words you want printed
 * @return list of words
 */
public static List<String> findMaxOccurrence(Map<String, Integer> map, int num) {
    List<WordComparable> l = new ArrayList<>();
    for (Map.Entry<String, Integer> entry : map.entrySet())
        l.add(new WordComparable(entry.getKey(), entry.getValue()));
Run Code Online (Sandbox Code Playgroud)

我的IDE建议循环和列表分配可以用"收集呼叫"替换:"stream api calls"

在其中生成此代码:

    List<WordComparable> l =
            map.entrySet().stream()
                    .map(entry -> new WordComparable
                            (entry.getKey(), entry.getValue())).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

我对lambda数学如何工作感到困惑.如果我的内存正确, - >是每个循环,但其他调用完全令人困惑.

我的IDE还可以将代码扩展为这两个片段:

    List<WordComparable> l =
            map.entrySet().stream()
                    .map(entry -> {
                        return new WordComparable …
Run Code Online (Sandbox Code Playgroud)

java lambda java-8 java-stream

6
推荐指数
2
解决办法
242
查看次数

Java ASM4:super(ASM4);?

好吧,我正在阅读ASM4字节码库中的PDF教程/文档/书籍(如果你愿意的话).我正在尝试这些例子并通过阅读,实际输入代码,执行,然后从输出中学习来学习.我遇到了这个部分:

   public class ClassPrinter extends ClassVisitor {
      public ClassPrinter() {
      super(ASM4);
   }
Run Code Online (Sandbox Code Playgroud)

链接在这里: http://download.forge.objectweb.org/asm/asm4-guide.pdf

我无法弄清楚在超级中传递什么.我的IDE也不是很有帮助.

java bytecode bytecode-manipulation java-bytecode-asm

3
推荐指数
1
解决办法
569
查看次数