gpt4 book ai didi

java - 使用 jool java 8 使用 Seq、Tuple 和 Streams 进行左外连接

转载 作者:行者123 更新时间:2023-11-30 10:00:25 29 4
gpt4 key购买 nike

我有两个 Lists Customers 和 Address,它们的共同值是 pmtxnid。我想使用 jool(java 8) leftouterjoin 方法,但我不知道正确的语法。也没有我可以更简单地理解它的例子。如果有人知道 Seq,Tuples jool with java 8 Streams,请帮忙。

List<Customers> customers = new ArrayList<Customers>();
customers.add(new Customers(16079391, 12, "A")); // NULL
customers.add(new Customers(16079392, 13, "B")); // 2
customers.add(new Customers(16079393, 14, "C")); // NULL
customers.add(new Customers(16079394, 15, "D")); // BIll
customers.add(new Customers(16079395, 16, "E")); // 1

List<Address> addresses = new ArrayList<Address>();
addresses.add(new Address(1, 16079392, "bangalore", "karnataka"));
addresses.add(new Address(2, 16079392, "chennai", "tamil nadu"));
addresses.add(new Address(3, 16079392, "hyderabad", "telanagana"));
addresses.add(new Address(4, 16079395, "indore", "mp"));
addresses.add(new Address(5, 16079395, "kanpur", "up"));

Seq<List<Customers>> s1 = Seq.of(customers);
Seq<List<Address>> s2 = Seq.of(addresses);

我尝试了下面的代码但没有成功。

Seq<Tuple2<Seq<List<Customers>>, Seq<List<Address>>>> loj=  Seq.of(s1).leftOuterJoin(Seq.of(s2), (t, u) -> Objects.equals(t, u));

最佳答案

假设可以分别使用 Customers#getPmtxnid()Address#getPmtxnid() 访问公共(public) pmtxnid 值,leftOuterJoin () 调用应如下所示:

var result = Seq.of(s1).leftOuterJoin(Seq.of(s2),
(c, a) -> Objects.equals(c.getPmtxnid(), a.getPmtxnid()));

注意 Objects#equals() 只有当其中一个对象可以有一个 null pmtxnid 时才需要。

关于java - 使用 jool java 8 使用 Seq、Tuple 和 Streams 进行左外连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58022235/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com