我目前正在处理多层xml数据,我想将不同的功能应用于不同层的不同节点。
目前我可以保存不同的图层节点值:
List<Integer> transactionsGroomIds =
transactions.parallelStream()
.map(node -> node.children().findChildWithName("GROOM"))
.filter(t -> t.getType() == Transaction.GROCERY)
.sorted(comparing(Transaction::getValue).reversed())
.map(Transaction::getId)
.collect(toList());
List<Integer> transactionsCupIds =
transactions.parallelStream()
.map(node -> node.children().findChildWithName("ACCESS"))
.map(node -> node.children().findChildWithName("CUP"))
.filter(t -> t.getType() == Transaction.GROCERY)
.sorted(comparing(Transaction::getValue).reversed())
.map(Transaction::getId)
.collect(toList());
如您所见,第一个列表是通过深入一层创建的,而第二个列表是通过深层两层创建的。
有没有办法制作组合清单?例如,如果我创建一个具有两个字段(transactionsGroomIds和transactionsCupIds)的Transaction对象,是否有办法创建一个能够在一个流中存储transactionsGroomIds和transactionsCupIds的List<Transaction>
?
进一步澄清:
我想通过构造函数将两个id插入到Transaction对象中。流中是否有插入代码的方法:
Transaction newTransaction = new Transaction(transactionsGroomIds, transactionsCupIds)
感谢。