对象是否有在Java中的任何实用功能转换List<Object[]>
到List<Object>
转换列表列出在Java中
回答
你可以自己随便写一个:
public static<T> List<T> append (List<T[]> input) {
List<T> res = new ArrayList<T>();
for(T[] subarr : input) {
if(subarr != null) {
int n = subarr.length;
for(int i = 0; i < n; i++) {
res.add(subarr[i]);
}
}
}
return res;
}
功能追加不同的阵列和阵列null
忽略,null
元素然而没有。因此如果输入是[null,[a,b],[null,null],[c,null,d],null]
。输出是[a,b,null,null,c,null,d]
。
'新清单
@Tom:对,修改它。在C#中,'List
为什么要允许空数组?空数组看起来很可能表示程序中的一个bug ...? –
号
你为什么不只是写自己的功能?这可能比问这个问题并等待答案要快。
不,没有办法直接为你做这个。你可以写一个嵌套的循环或使用流API的flatMap如下:
List<Object> flat = objArrs.stream()
.flatMap(Stream::of)
.collect(Collectors.toList());
在Java 8,你可以用流做到这一点:
List<Object[]> list = ...
List<Object> l = list.stream()
.flatMap(arr -> Stream.of(arr))
.collect(Collectors.toList());
正如其他人已经说过,有没有效用和使用老同学 for循环自己创建一个并不难,例如:
public List<Object> flatten(List<Object[]> source)
{
// if (source == null) return null; // which check you use it up to you
List<Object> result = new ArrayList<Object>();
if (source == null) return result; // Personally I like this check
for (Object[] array: source)
{
if (array == null) continue; // skip nulls
for (Object object: array)
{
result.add(object);
}
}
return result;
}
也许你可以把它变成它的通用对象(提升)...... –
- 1. 转换表列出在Excel
- 2. 转换列表中列出的元素
- 3. 在Python中转换列表输出
- 4. 转换空单Java列表
- 5. 转换列表以二维阵列(JAVA)
- 6. 转换列表:字典,其值的列表中列出一个
- 7. 转换列表列出诠释
- 8. 转换列表列出使用LINQ
- 9. Java泛型 - 转换列表<object>列出<T>
- 10. 将DataModel转换为Java中的列表
- 11. 如何转换列表<Object>列出<Dog>在Java中
- 12. 转换阵列在Java
- 13. 转换列表,列表
- 14. 转换列表<DataRow>在C#.NET中列出<UserEntity>
- 15. 将Array列表转换为Java中的链接列表
- 16. 将字符串列表转换为java中的BigDecimal列表
- 17. 不能转换列表,列表错误在Java泛型
- 18. 转换列表
- 19. 转换列表
- 20. 转换列表
- 21. 转换列表
- 22. 转换的Json列出的Java
- 23. 在python中将列表和列表的列表转换为csv
- 24. 在单个列表中转换列表的列表
- 25. 转换列表到列表在Python
- 26. 转换的字符串列表,列出字符串列表的
- 27. 如何转换列表列表地图列出地图
- 28. 转换集列出
- 29. 转换列表到“换位”列表
- 30. 在java列表中列出数组列表中的值
描述你的问题正确 –
的问题是AMB含糊不清:如果一个数组包含两个或多个元素会发生什么?请举一个例子。 –
作为该功能的结果,您会期待什么? –