java - 在java8中添加两个列表?
问题描述
我正在尝试在 java 8 中将两个列表一起添加。两个列表都来自 json 中的单独对象,但我想在 java 代码中将它们一起放入一个新对象中。
我试过 listUtils.union 但这会作为两个数组添加到新对象中。addAll 方法和流 .concat() 也给出错误。
例子:
json有:
“对象 1”:[{ 测试:“2”}]
“对象 2”:[{ 测试:“2”}]
尝试将哈希映射添加到对象“newobject”中,但我必须调用方法来获取新列表。
例如 :
Newlist = listUtils.Union(addobject1(), addObject1) (这些是从 json 返回我的列表的方法名称。
放(“新对象”,新列表)
有什么建议么 ?
解决方案
根据 JSON 字符串,您有一些 POJO 的列表:
class MyPojo {
private final String test;
public MyPojo(String t) {this.test = t; }
public String getTest() {return test; }
@Override
public String toString() {
return "{ test: " + test + "}";
}
}
然后object1
和object2
是输入列表,有几种方法可以合并它们:
- 使用
Stream.concat
Stream.concat(object1.stream(), object2.stream()).collect(Collectors.toList());
- 使用
Stream.of
Stream.of(object1, object2)
.flatMap(List::stream)
.collect(Collectors.toList());
- 使用
addAll
List<MyPojo> result = new ArrayList<>(object1);
result.addAll(object2);
- 列表的流式列表
Arrays.asList(object1, object2)
.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
推荐阅读
- excel - WorksheetFunction.CountIf 用于多张工作表
- angular - TypeError:无法读取未定义 Ionic-v4 的属性“nativeElement”
- rest - 无法在 Springboot 中调试控制器
- c# - 如何在字典列表中引用以下字典中的值
- visual-studio - 重新加载 Web 项目时 Visual Studio 2019 值不在预期范围内
- c++ - 为一组 c++ 指针定义 operator<
- python - 如何从 matplotlib 中的 .dat 文件中读取多列,然后绘制到多个子图中
- thread-safety - 如何在调用的许多方法中停止线程?
- git - 不能 `ssh-add` 公钥,尽管执行了`eval 'ssh-agent -s'`
- influxdb - 500 Internal Server Error while trying to get series data using flux query language