当前位置: 首页 > 面试题库 >

将Iterable转换为Collection的简单方法

江迪
2023-03-14
问题内容

在我的应用程序中,我使用3rd party库(确切地说是MongoDB的Spring数据)。

该库的方法返回Iterable<T>,而我的其他代码则期望Collection<T>

有什么实用方法可以让我快速将一个转换为另一个吗?我想避免foreach在代码中创建这么简单的循环。


问题答案:

JDK 8+中,不使用任何其他库:

Iterator<T> source = ...;
List<T> target = new ArrayList<>();
source.forEachRemaining(target::add);

编辑:上面的是Iterator。如果您正在处理Iterable,

iterable.forEach(target::add);


 类似资料:
  • 问题内容: 假设我有一个包含要转换为指标的字符串的数据框。我用来将其转换为现在可用于构建模型的数据集。 现在,我有一个新的观察值,我想遍历我的模型。显然,我无法使用它,因为它不包含所有类,并且不会创建相同的指标矩阵。有什么好方法吗? 问题答案: 您可以从单个新观察值创建虚拟对象,然后使用原始指标矩阵中的列重新索引此框架列: 返回:

  • 本文向大家介绍在Java中将Iterator转换为Iterable,包括了在Java中将Iterator转换为Iterable的使用技巧和注意事项,需要的朋友参考一下 假设以下是具有整数值的迭代器- 现在,将Iterator转换为Iterable- 示例 以下是在Java中将Iterator转换为Iterable的程序- 输出结果

  • 我有一个简单的循环,将元素从一个

  • 问题内容: 将Blob转换为字节数组的最简单方法是什么?我正在使用MYSQL,我想将Blob数据类型转换为字节数组。 Iam使用Java编程语言:) 问题答案: mySql blob类具有以下功能: blob.getBytes 像这样使用它:

  • 问题内容: 我正在尝试为使用OpenCV中的类的C ++库创建 Python / Cython 包装器。在官方的Python包装器中,所有函数都使用NumPy代替,这非常方便。但是在我自己的包装器中,如何进行这种转换?也就是说,我怎么 创建 的 ? 问题答案: 如kyamagu所建议,您可以使用OpenCV的官方python包装器代码,尤其是and 。 我一直在像您一样处理所有依赖项和生成的头文件

  • 问题内容: 我有一个返回的接口。 我想使用Java 8 Stream API处理该结果。 但是Iterable不能“流式传输”。 任何想法如何将Iterable用作流而不转换为List? 问题答案: 有一个比直接使用更好的答案,这既简单又得到更好的结果。 Iterable有一个方法,所以你应该使用该方法来获取分离器。在最坏的情况下,它是相同的代码(默认实现使用),但是在更常见的情况下,你已经是一个