当前位置: 首页 > 知识库问答 >
问题:

文本字段和控制台打印之间的差异

侯博裕
2023-03-14

我将数据存储到名为ray的数组列表中,然后使用以下函数显示每天的最高数量:

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:
    array
   .stream()
   .collect(

      Collectors.groupingBy(e ->(e.getDate()),

             Collectors.maxBy((e1, e2) -> (int) (e1.getData() - e2. getData()))))

    .forEach((date, sensor) -> 
          System.out.println("" + date + " - " + sensor.map(Sensor:: getData).get()));
          //jTextField1.setText("" + date + " - " + sensor.map(Sensor:: getData).get()));  

}   

问题是当我使用<code>System.out时。println(“date”-”是sensor.map(sensor::getData)。get()) -

为什么会这样?如何在文本字段中打印整个列表。提前感谢您!

共有2个答案

米承嗣
2023-03-14
匿名用户

发生这种情况是因为<code>。forEach()迭代流中包含的值。

  • 在控制台的情况下,每个条目都是按顺序打印的。
  • TextField的情况下,该字段的文本连续设置多次,每次都覆盖上一个值。这样最终只剩下最后一个条目。

作为解决方案,您可以:

  • 将列表映射到列表

云承天
2023-03-14

然后只出现一天(最后一天)。

为什么会这样?

因为您循环访问了所有元素,并在调用 setText 的最后一个元素处退出循环。

您可以很好地打印,因为所有元素都附加到输出缓冲区,其中<code>setText

您可以收集流到列表

使用细节:当我们已经拥有StringBuilder时,为什么选择StringJoiner?

(或者只是使用StringBulder附加到forEach中,并在其外部设置Text

 类似资料:
  • 问题语句:我有一个在Xcode中运行的程序,它有一堆print()语句,可以很好地将输出打印到调试控制台。然而,我希望也能够将这些输出重定向到一个文件,这样我就可以让用户将它们发送给我,作为调试的一种方式。 SO上找到的解决方案使我可以将输出重定向到文件,但调试控制台输出将丢失。 问:我想要我的蛋糕和吃它。我希望能够将print()语句重定向到调试控制台和文件。 所以我有引用:https://st

  • 我真的被困在作业的这一特定部分,它要求我将简单文本打印到控制台中,然后创建一个文件(无论主文件中的std::string文件名是什么),并将控制台的内容打印到该文件中。 我真的很困惑,因为该函数需要ostream,而且它还需要该函数使用任何文件名(在本例中是statistics.txt,只是为了测试该函数是否工作)。 函数是PrintStatistics。 我知道我可以使用cout在控制台上打印,

  • 由来 编码中我们常常需要调试输出一些信息,除了打印日志,最长用的要数System.out和System.err 比如我们打印一个Hello World,可以这样写: System.out.println("Hello World"); 但是面对纷杂的打印需求,System.out.println无法满足,比如: 不支持参数,对象打印需要拼接字符串 不能直接打印数组,需要手动调用Arrays.to

  • 问题内容: 我一直在寻找其他语言的用法,但发现必须使用特殊字符\b删除最后一个字符。 对于多次调用console.log()的node.js,这不起作用。 如果我写一个日志: 我得到结果:abd 但是如果我写: 我得到结果: abc d 我的目标是打印一条等待消息,例如: 等待 等待。 等待中.. 等待中… 然后再次: 等待 等待。 等等 都在同一行。 问题答案: 有以下功能可用: 可以提供参数

  • 将特殊字符添加到文本中,以在控制台中以彩色方式打印(与 console.log() 结合使用)。 使用模板字面量和特殊字符将相应的颜色代码添加到字符串输出中。 对于背景颜色,添加一个特殊字符,在字符串的末尾重置背景颜色。 const colorize = (...args) => ({ black: `\x1b[30m${args.join(' ')}`, red: `\x1b[31m${

  • 问题内容: 我的C程序粘贴在下面。在bash中,程序打印“ char is”,不打印Ω。我的语言环境均为en_US.utf8。 问题答案: 这很有趣。显然,编译器将omega从UTF-8转换为UNICODE,但libc某种程度上将其弄乱了。 首先:-format说明符期望一个(即使在wprintf -version 中也是如此),因此您必须指定(并因此指定字符串)。 其次,如果您像这样将语言环境设