2つのリストを取り、2番目の配列のすべての要素が最初の配列アレイ。しかし、このコードは、サイズが等しい2つの配列(例えば{1,2,3}、{3,2,1}がtrueを返す)に対してのみ機能しますが、最初の配列が2番目の配列より大きい場合はrangeCheck例外公正であることを完全に期待していた)。ArrayListが別のArrayList内に含まれていて、両方のリストが異なるサイズのものであるかどうかを確認する方法
import java.util.*;
public class Ex8 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("How many numbers do you wish to enter into the
array?");
int thisMany = scanner.nextInt();
ArrayList<Integer> numbers = new ArrayList<Integer>();
System.out.println("Please enter some numbers, separated by
spaces");
for(int i = 0; i<thisMany; i++) {
int x = scanner.nextInt();
numbers.add(x);
}
Scanner sc = new Scanner(System.in);
System.out.println("How many numbers do you wish to enter into the
second array?");
int nowThisMany = sc.nextInt();
ArrayList<Integer> numbers2 = new ArrayList<Integer>();
System.out.println("Enter some numbers, separated by spaces");
for(int j = 0; j<nowThisMany; j++) {
int y = sc.nextInt();
numbers2.add(y);
}
System.out.println(Arrays.toString(numbers.toArray()));
System.out.println(Arrays.toString(numbers2.toArray()));
isContained(numbers, numbers2);
System.out.println(isContained(numbers, numbers2));
}
public static boolean isContained(ArrayList<Integer> numbers,
ArrayList<Integer> numbers2) {
boolean equalsTest = false;
for(int i = 0; i<numbers.size(); i++) { //This gives exception if
//both arrays aren't the same size
if(numbers.get(i) == numbers2.get(i)) {
equalsTest = true;
}
}
return equalsTest;
}
}
どのように私は例外に実行することなく、最初の配列に対して2番目の配列を確認することができますか?ありがとう
'ブールコレクション、 偽であります.containsAll(コレクション> c); ' – davidxxx