gpt4 book ai didi

java - java中带有集合的笛卡尔积

转载 作者:行者123 更新时间:2023-12-02 06:14:05 26 4
gpt4 key购买 nike

我正在尝试在java中创建一个笛卡尔积方法,它接受集合作为参数并返回一个集合对。我的代码将参数集隐藏为数组,然后执行笛卡尔积,但我无法将其添加回我想要返回的集合对。有没有更简单的方法来做到这一点?提前致谢。

public static <S, T> Set<Pair<S, T>> cartesianProduct(Set<S> a, Set<T> b) {
Set<Pair<S, T>> product = new HashSet<Pair<S, T>>();


String[] arrayA = new String[100];
String[] arrayB= new String[100];

a.toArray(arrayA);
b.toArray(arrayB);

for(int i = 0; i < a.size(); i++){
for(int j = 0; j < b.size(); j++){
product.add(arrayA[i],arrayB[j]);
}
}
return product;
}

最佳答案

这看起来更简单,

public static <S, T> Set<Pair<S, T>> cartesianProduct(Set<S> a, Set<T> b) {
Set<Pair<S, T>> product = new HashSet<Pair<S, T>>();

for(S s : a) {
for(T t : b) {
product.add(new ImmutablePair<S, T>(s,t));
}
}

return product;
}

关于java - java中带有集合的笛卡尔积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21640274/

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