gpt4 book ai didi

java - 仅使用循环合并两个字符串数组

转载 作者:行者123 更新时间:2023-12-02 05:47:45 24 4
gpt4 key购买 nike

我在执行一项简单任务时遇到了一些我无法理解的问题。我有一个简单的任务,即创建一个合并两个数组但不重复的算法,仅使用 for 循环...

这是我到目前为止的代码...

public static String[] mergeReps(String[] a1, String[] a2) {

// Create a new array with the full size (I'll remove the nulls later)
String[] retArray = new String[a1.length + a2.length];

// Copy of array a1 to the retArray
retArray = Arrays.copyOf(a1, a1.length);

// Test print...
System.out.println(Arrays.toString(retArray));

// loop to check if the indexes value are present in the a1 array
for (int i = 0; i < a1.length - 1; i++) {
for (int j = i + 1; j < a2.length; j++) {
// Condition to check if the value is duplicated
if (!(a1[j].equalsIgnoreCase(a2[i]))) {
retArray[i + a1.length] = a2[j];
}
}
}
return retArray;
}

我的问题是:如何将 a2[0] 与 a1 数组中的每个位置进行比较,只有在这样做并知道它是否重复后,才能将其添加到 retArray 中?

最佳答案

试试这个代码片段。基本上,它使用集合的唯一性属性来编译一组唯一的字符串值。然后将其转换为 String[]。

查看 HashSets 的 javadocs了解有关它们如何工作的更多信息。

  Set<String> result = new HashSet<String>();
for(String s : a1)
{
result.add(s);
}
for(String s : a2)
{
result.add(s)
}

return result.toArray(new String[result.size()]);

关于java - 仅使用循环合并两个字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23898122/

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