gpt4 book ai didi

Java:如何实现一个接受 2 个数组并返回 2 个数组的方法?

转载 作者:行者123 更新时间:2023-12-03 20:22:34 26 4
gpt4 key购买 nike

好的,这是我想做的:

我想实现一个数组的交叉方法。

它应该采用 2 个相同大小的数组并返回两个新数组,这两个新数组是两个输入数组的一种混合。如 [a,a,a,a] [b,b,b,b] ------> [a,a,b,b] [b,b,a,a]。

现在我想知道在 Java 中建议的方法是什么,因为我不能返回多个值。

我的想法是:- 返回包含两个新数组的集合(或数组)。

我不太喜欢那个,因为它认为会导致代码更难理解。- 通过为每种情况调用方法避免返回两个结果的需要,但每次只获得一个结果。

我也不喜欢那个,因为对于应该返回哪个解决方案没有自然的顺序。这需要指定,但会导致代码更难理解。

另外,这仅适用于这种基本情况,但我想在交叉之前打乱数组并在之后反转。我无法进行与交叉分离的改组,因为我不想实际进行操作,而是我想在进行交叉时使用有关排列的信息,我认为这将是一种更有效的方法。

我的问题不是关于算法本身,而是关于在Java中放入方法(关于输入和输出)的方式

最佳答案

根据 Bruce Eckel 的书 Thinking in Java 中的建议,在我的 Java 项目中,我经常包含一些实用程序类来包装两个或三个对象的组。它们简单易用,特别适用于必须返回多个对象的方法。例如:

public class Pair<TA,TB> {
public final TA a;
public final TB b;

/**
* factory method
*/
public static <TA,TB> Pair<TA,TB> createPair(TA a,TB b ){
return new Pair<TA,TB>(a,b);
}

/**
* private constructor - use instead factory method
*/
private Pair(final TA a, final TB b) {
this.a = a;
this.b = b;
}

public String toString() {
return "(" + a + ", " + b + ")";
}

}

关于Java:如何实现一个接受 2 个数组并返回 2 个数组的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2767274/

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