これがあなたが探しているものかもしれないと思います。値が2番目の配列に存在し、最初の配列には存在しない場合にのみ、3番目の「配列」に追加されることに注意してください。あなたの例では、犬ではなくウサギだけが保存されます(犬は両方に存在しませんが)。この例はおそらく短くなる可能性がありますが、何が起こっているのかを簡単に確認できるように、このままにしておきたいと思いました。
最初のインポート:
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
}
tempListには、仕様に従って「rabbit」が含まれるようになります。必要に応じて3番目の配列にする必要がある場合は、次の手順を実行するだけで、非常に簡単に配列に変換できます。
String a3[] = tempList.toArray(new String[0]); // a3 will now contain rabbit
リストまたは配列のいずれかのコンテンツを印刷するには、次のようにします。
// 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]);
}