私は2つのリストを持っています
array A = [1,3,5]//jst array A
list B = [3,7]//ArrayList B
リストBから7つ欲しい
for(int A=0;A<elements.length;A++){
for(int r=0;r<B.size();r++){
if(A[k] != B.get(r)){
pln(A[k]);
}
}
}
これが1つの方法です。最もクリーンではありませんが、機能します:
final Integer[] arr1 = new Integer[] { 3, 4, 5 };
final Integer[] arr2 = new Integer[] { 3, 7 };
List<Integer> arr2List = new ArrayList<Integer>(Arrays.asList(arr2));
arr2List.retainAll(Arrays.asList(arr1));
System.out.println(arr2List); // output [3]
外側のループでリスト (B) を反復処理し、B の各要素が配列のメンバーであるかどうかを確認します。それは単に逆です。
// for each element of B ...
for (i = 0; i < B.size(); i++ ) {
// ... check each element of A
for (j = 0; j < A.length; j++) {
// if it is equal.
if (B.get(i) == A[j]) {
// if yes, continue with the next B
break;
}
}
// so none of the elements of A matched the element of B.
System.out.println(B.get(i));
}
注: 変数名は Java の規則に違反しています。あなたが答えを理解するのを助けるために、私はあなたの名前だけを残しました. 小文字で始まるスペル名を使用してください。コモドール 64 ベーシックの時代は終わりました
これはすぐにそれを行うはずです:
B.retainAll(Arrays.asList(elements));
、および- が配列 でB
あると仮定します。List
elements
import java.util.ArrayList;
public class test1 {
public static void main(String[] args)
{
ArrayList<Integer> a1 = new ArrayList();
a1.add(3);
a1.add(4);
a1.add(5);
ArrayList<Integer> a2 = new ArrayList();
a2.add(3);
a2.add(7);
a2.retainAll(a1);
for(Integer i:a2)
{
System.out.println(i);
}
}
}