使用Stream为两个列表配对可以通过以下步骤实现:
下面是一个示例代码,演示如何使用Stream为两个列表配对:
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import javafx.util.Pair;
public class PairingLists {
public static void main(String[] args) {
List<Integer> list1 = Arrays.asList(1, 2, 3);
List<String> list2 = Arrays.asList("A", "B", "C");
List<Pair<Integer, String>> pairs = zipLists(list1, list2);
pairs.forEach(pair -> System.out.println(pair.getKey() + " - " + pair.getValue()));
}
private static <T, U> List<Pair<T, U>> zipLists(List<T> list1, List<U> list2) {
if (list1.size() != list2.size()) {
throw new IllegalArgumentException("Lists must have the same length");
}
return Stream.iterate(0, i -> i + 1)
.limit(list1.size())
.map(i -> new Pair<>(list1.get(i), list2.get(i)))
.collect(Collectors.toList());
}
}
这个示例代码中,我们定义了两个列表list1和list2,分别包含整数和字符串。然后,我们调用zipLists方法将这两个列表进行配对,并将配对结果存储在pairs列表中。最后,我们使用forEach方法遍历pairs列表,并打印每个配对结果的键和值。
注意:这个示例代码使用了JavaFX库中的Pair类来表示配对结果。如果你没有使用JavaFX,可以自行实现一个类似的Pair类来表示配对结果。
推荐的腾讯云相关产品:腾讯云函数(SCF)和腾讯云数据库(TencentDB)。
你可以访问以下链接获取更多关于腾讯云函数和腾讯云数据库的详细信息:
领取专属 10元无门槛券
手把手带您无忧上云