두 개의 ArrayList
요소가 같은지 여부를 기본적으로 확인하기 위해 재귀 적 도우미 메서드를 호출하는 메서드를 작성하고 있다면 true를 반환합니다. 테스트 할 때 두 개의 동일한 길이와 첫 번째와 마지막 요소가 같지만 그 사이에 다른 요소가 있어도 메서드가 true를 반환한다는 것을 깨달았습니다. 나는 그 방법이 다르게 작동한다고 생각한다. 이 문제를 해결할 수있는 방법에 대한 제안이나 힌트가 있습니까?ArrayList와 재귀 메서드 비교
public static boolean isEqual(ArrayList<T> list1,
ArrayList<T> list2) {
return isEqual(list1,list2,0);
}
private static boolean isEqual(ArrayList<T> list1,
ArrayList<T> list2, int n) {
if (n==0 && list1.size()==0 && list1.size() == list2.size())
return true;
else if (n>=list1.size() || n>=list2.size())
return false;
if (n<list1.size() && list1.size() == list2.size()) {
if (list1.get(n).equals((list2.get(n))))
return true;
else
return false;
}
return isEqual(list1, list2, n + 1);
}