java - 将 Iterable 转换为 Collection 的简单方法

标签 java collections spring-data iterable

在我的应用程序中,我使用 3rd 方库(准确地说是 Spring Data for MongoDB)。

这个库的方法返回 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 - 将 Iterable 转换为 Collection 的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6416706/

相关文章:

java - 无法加载驱动程序类 org.mariadb.jdbc.Driver

spring-security - Spring Data JPA 和 spring-security : filter on database level (especially for paging)

java - 如何连续应用两个正则表达式

java - Wicket 页面已过期

java - 是否有像 Map<K,V,W, ...> 这样的数据结构?

java - 比较对象内的元素

java - 删除 ArrayList<ArrayList<String>> 中的重复行

collections - 与常规集合中的交集相反

Spring Boot : Error creating bean with name 'jpaMappingContext' : java. lang.NullPointerException

java - 使用 POI 为多列创建不同的下拉列表