Java 比较字符串的两个数组并将结果存储在另一个数组中
我想比较两个数组并将差异存储在另一个数组中 例如,这两个数组可能是Java 比较字符串的两个数组并将结果存储在另一个数组中,java,Java,我想比较两个数组并将差异存储在另一个数组中 例如,这两个数组可能是 String[] a1 = { "cat" , "dog" }; String[] a2 = { "cat" , "rabbit" }; 生成的数组如下所示 { "rabbit" } 我使用这个代码,但它不起作用 int n = 0; for (int k = 0; k <= temp.length; k++) { for (int u = 0; u <= origenal.length; u++)
String[] a1 = { "cat" , "dog" };
String[] a2 = { "cat" , "rabbit" };
生成的数组如下所示
{ "rabbit" }
我使用这个代码,但它不起作用
int n = 0;
for (int k = 0; k <= temp.length; k++)
{
for (int u = 0; u <= origenal.length; u++)
{
if (temp[k] != origenal[u] && origenal[u] != temp[k])
{
temp2[n] = temp[k];
System.out.println(temp[u]);
n++;
}
}
}
int n=0;
对于(int k=0;k这应该可以做到
String[] result = new String[100];
Int k = 0;
Boolean test = true;
for(i=0; i < a1.length; i++){
for(j=0; j < a2.length; j++){
if(a2[i].equals(a1[i])) continue;
test = false
}
if(test == false) result[k++] = a1[i];
}
String[]result=新字符串[100];
Int k=0;
布尔检验=真;
对于(i=0;i
我认为这可能是您正在寻找的。请注意,如果值存在于第二个数组中,但不存在于第一个数组中,则它只会添加到第三个“数组”。在您的示例中,只会存储兔子,而不会存储狗(即使两个数组中都不存在狗).这个例子可能会缩短,但我想保持这样,以便更容易看到发生了什么
首次进口:
import java.util.ArrayList;
import java.util.List;
然后执行以下操作以填充和分析阵列
String a1[] = new String[]{"cat" , "dog"}; // Initialize array1
String a2[] = new String[]{"cat" , "rabbit"}; // Initialize array2
List<String> tempList = new ArrayList<String>();
for(int i = 0; i < a2.length; i++)
{
boolean foundString = false; // To be able to track if the string was found in both arrays
for(int j = 0; j < a1.length; j++)
{
if(a1[j].equals(a2[i]))
{
foundString = true;
break; // If it exist in both arrays there is no need to look further
}
}
if(!foundString) // If the same is not found in both..
tempList.add(a2[i]); // .. add to temporary list
}
要打印列表或数组的内容,请执行以下操作:
// Print the content of List tempList
for(int i = 0; i < tempList.size(); i++)
{
System.out.println(tempList.get(i));
}
// Print the content of Array a3
for(int i = 0; i < a3.length; i++)
{
System.out.println(a3[i]);
}
//打印列表模板的内容
对于(int i=0;i
简单:String result=“rabbit”
你是如何在结果中只得到“rabbit”的?我们需要更多的信息来帮助你。@DanW我想他是在存储a2
和a1
之间的差异:a2\a1
是“rabbit”@user902383 duh,是的,我发现在发布它之后(字符串s2:a2)的语句中有错误,错误是“预期的”我应该进行导入吗?您只需要java.util.ArrayList和import java.util.List就可以使用该列表。我可以重建循环,使其不为每个变量使用。@user1888020您可以将(字符串s2:a2)
的更改为(int I=0;I
然后在有s2
的boddy中,使用另一个int
变量,如j
,将其更改为a2[i]
,对于s1和a1也是如此。我更新了示例,不使用for each样式循环。这样效果更好吗?当我想要打印tempList的内容时,出现错误,索引为0,大小为0,
// Print the content of List tempList
for(int i = 0; i < tempList.size(); i++)
{
System.out.println(tempList.get(i));
}
// Print the content of Array a3
for(int i = 0; i < a3.length; i++)
{
System.out.println(a3[i]);
}