0

私は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]);
        }
    }
}
4

4 に答える 4

1

これが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]
于 2013-03-08T06:28:16.810 に答える
1

外側のループでリスト (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 ベーシックの時代は終わりました

于 2013-03-08T06:24:02.633 に答える
1

これはすぐにそれを行うはずです:

B.retainAll(Arrays.asList(elements));

、および- が配列 でBあると仮定します。Listelements

于 2013-03-08T06:25:09.720 に答える
0
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);
        }
    }

}
于 2013-03-08T07:23:27.277 に答える