stream 相关问题

流是一系列可以以串行方式访问的数据元素。对于Java 8的新Stream API,请改用java-stream标签。

通过列表优化迭代

我想优化我的方法。 我有对象列表,我想对它们进行迭代,将字段与输入进行比较,如果匹配,我想在其他方法中使用第一个对象。

回答 2 投票 0

按元素的多个属性对 Java 列表进行分组

我有一个对象列表,其中包含基于多个属性的重复项。我想以这种方式转换这个列表。我认为这就像按多个属性进行分组 例子 : ID 姓名 年龄 ...

回答 4 投票 0

如何创建键和值等于0的映射

我有一个名为list1的长列表。 我需要创建一个 Map (使用流 api),其中键是 list1 中的值,并且该键的值 = 0; 例如 列表 1 = [1, 2, 3, 1, 3] 地图 = [ [1,0], [2...

回答 3 投票 0

处理对象列表并将它们设置为新对象

我有一个包含以下行和字段的数据库表 ID 名称 描述 类型 频率 每天 1 条说明短信 2 描述 每周推送 3 InAp 自定义说明 4 B 描述 1 短信

回答 1 投票 0

appendBuffer() 未追加到 sourceBuffer 中

我正在从 API 获取 fetch() 视频。 response.body 是一个可读流。所以我把它读给读者。 然后,所有块(值)都被推送到块数组中(chunks.push(value))。 ...

回答 1 投票 0

IntelliJ Java 映射流的通用类型推断

我已经阅读了有关 toList 和 Collectors.toList() 之间差异的问题 但这个问题与那个问题不同。 想象一下下面的类: 公开课测试{ 优先...

回答 1 投票 0

Java 的平台独立 /dev/null 输出接收器

除了匿名类 (new OutputStream() { ... }) 之外,任何人都可以提出一个在道德上等同于也适用于 Windows 的 new FileOutputStream("/dev/null") 吗? 如果有人想知道“什么是

回答 5 投票 0

通过 Steam API 按两个顺序对列表进行排序

我有一个 Person 类数组。我们称之为 arr_Person。 Person 类的每个实例都有一个 int 优先级类型参数,可以采用值 0、1、2、3、4。 我需要获得 obj 的排序列表...

回答 1 投票 0

以 DRY 方式编写方法的异步版本?

System.IO.Stream的文档规定,从它派生时,最多只需要实现Read方法。 这会自动启用在 der 中使用 ReadAsync 方法...

回答 1 投票 0

如何在 Node.js 中使用 Busboy 正确停止流媒体并删除文件?

Multer 是基于 Busboy 构建的,本质上是这个文件: var is = require('type-is') var 巴士男孩 = require('巴士男孩') var 扩展 = require('xtend') var onFinished = require('完成') varappendF...

回答 1 投票 0

如何在移动应用程序上直播音频并实时输出到外部扬声器(C# .NET MAUI)

我的任务是创建一个移动应用程序功能,用户可以在其中实时传输语音以输出到外部 IP 扬声器。 (海康威视 IP 扬声器 DS-PA0103-B)。 https://www.hikvision.com/uk/prod...

回答 1 投票 0

将消费者偏移重置到 Kafka Streams 的开头

我正在使用 Kafka 流,并且想要将一些消费者偏移量从 Java 重置到开头。 KafkaConsumer.seekToBeginning(...) 听起来像是正确的做法,但我使用 Kafka Streams:

回答 3 投票 0

无法在 CentOS 7 上下载存储库“pgdg-common”的元数据

当我尝试在 CentOS Stream 8 上安装或更新软件包时,出现此错误: [root@e2e-101-138 \~\]# sudo yum update RHEL / Rocky 8 的 PostgreSQL 通用 RPM - x86_64 ...

回答 4 投票 0

如何以流形式播放声音<list<int>>

我正在尝试从 YouTube 获取视频。 类 MyCustomSource 扩展 StreamAudioSource { 最终列表字节; MyCustomSource(this.bytes); @override Future 请求...

回答 1 投票 0

什么是 copyWith?如何在 Flutter 中使用它以及它的一些用例是什么?

//文件:email_sign_in_model.dart 类 EmailSignInModel { 电子邮件登录模型({ this.email='', this.formType=EmailSignInFormType.signIn, this.isLoading=false, this.密码='', ...

回答 3 投票 0

Laravel9 response()->stream() 使用 fwrite() 得到空结果

我需要将大量数据导出为 CSV 字符串。 所以我尝试将 fopen('php://stdout', w) 与 fwrite($file, $data) 一起使用。 但 Laravel response()->stream() 不会返回任何内容,也不会出现错误。 我...

回答 1 投票 0

读取带有Java流中其他属性的嵌套列表

我有一个对象列表,例如 Person 依次有几个列表,其中很少有通用属性,如下所示 列表 地址1 = List.of("1","2","5","6& 我有一个对象列表,例如 Person 依次有几个列表,其中很少有通用属性,如下所示 List<Address> address1 = List.of("1","2","5","6") List<Address> address2 = List.of("3","4") List<Email> email1 = List.of("[email protected]","[email protected]", "[email protected]") List<Email> email2 = List.of("[email protected]", "[email protected]") Person person1 = new Person("smith",22, address1, email1) Person person2 = new Person("Alex",30, address2, email2) List<Person> person = List.of(person1, person2) 我想迭代人员列表并获取地址和电子邮件对象的其他两个嵌套列表大小的大小。在上面的例子中,地址大小=6,电子邮件=5,我想返回 是否有可能在单次迭代中在Java流中实现这一点? 是否可以在单次迭代中在 Java 流中实现此目的? 如果您指的是一个循环或类似的构造,是的。如果你的意思是一些 O(1) 解决方案,不!无论是命令式还是声明式完成,都会在某个地方出现迭代。最简单的方法如下: int emailCount = 0; int addressCount = 0; for (Person person : persons) { emailCount += person.email.size(); addressCount += person.address.size(); } System.out.println(emailCount); System.out.println(addressCount); 打印 5 6 这也可以通过流来完成,但开销更大。

回答 1 投票 0

无法在 centos 7 上下载存储库“pgdg-common”的元数据

当我尝试在 CentOS Stream 8 上安装或更新软件包时,会出现此错误 [root@e2e-101-138 \~\]# sudo yum update RHEL / Rocky 8 的 PostgreSQL 通用 RPM - x86_64 ...

回答 1 投票 0

当文件不在中央目录中但有自己的 LFH 时,是否有工具可以从 ZIP 存档中提取该文件?

我正在寻找一种可以通过 ZIP 存档进行积极搜索来提取文件的工具。压缩文件前面有 LFH,但不存在 CDH。解压输出一个空文件夹。 我...

回答 1 投票 0

在Java中将流转换为字符串

我想将 Map<> 的流转换为字符串,并将其附加到文本区域。我尝试了一些方法,最后一个使用 StringBuilder,但它们不起作用。 公开 我想将 Map<> 的流转换为字符串,并将其附加到文本区域。我尝试了一些方法,最后一个使用 StringBuilder,但它们不起作用。 public <K, V extends Comparable<? super V>> String sortByAscendentValue(Map<K, V> map, int maxSize) { StringBuilder sBuilder = new StringBuilder(); Stream<Map.Entry<K,V>> sorted = map.entrySet().stream() .sorted(Collections.reverseOrder(Map.Entry.comparingByValue())); BufferedReader br = new BufferedReader(new InputStreamReader((InputStream) sorted)); String read; try { while ((read=br.readLine()) != null) { //System.out.println(read); sBuilder.append(read); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } sorted.limit(maxSize).forEach(System.out::println); return sBuilder.toString(); } 您可以将条目收集到一个String中,如下所示: String sorted = map.entrySet().stream() .sorted(Collections.reverseOrder(Map.Entry.comparingByValue())) .map(e-> e.getKey().toString() + "=" + e.getValue().toString()) .collect(Collectors.joining (",")); 考虑对 @Eran 的代码进行轻微更改,因为 HashMap.Entry.toString() 已经通过 = 为您加入了: String sorted = map.entrySet().stream() .sorted(Collections.reverseOrder(Map.Entry.comparingByValue())) .map(Objects::toString) .collect(Collectors.joining(",")); 这很容易做到,您可以使用 Steams API 来做到这一点。首先,将映射中的每个条目映射到单个字符串 - 键和值的连接字符串。一旦你有了这个,你就可以简单地使用 reduce() 方法或 collect() 方法来做到这一点。 使用“reduce()”方法的代码片段将如下所示: Map<String, String> map = new HashMap<>(); map.put("sam1", "sam1"); map.put("sam2", "sam2"); String concatString = map.entrySet() .stream() .map(element-> element.getKey().toString() + " : " + element.getValue().toString()) .reduce("", (str1,str2) -> str1 + " , " + str2).substring(3); System.out.println(concatString); 这将为您提供以下输出: sam2 : sam2 , sam1 : sam1 您还可以使用 collect()' method instead ofreduce()` 方法。它看起来像这样: String concatString = map.entrySet() .stream() .map(element-> element.getKey().toString() + " : " + element.getValue().toString()) .collect(Collectors.reducing("", (str1,str2) -> str1 + " , " + str2)).substring(3); 两种方法给出相同的输出。

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.