2012-01-06 4 views
0

어느 누구도 나를 도울 수 있습니다. 내가 애플 리케이션을 만들고있어, 자바에서 숫자가 int 배열로 보내고 배열의 숫자 중 하나가 반복되었는지 확인하고 메소드 나 뭔가를 호출해야하는지 확인해야합니다. 이것이나 비슷한 것을 확인할 수있는 방법이 있습니까? 또는 루프 및 if 문을 사용하여 그것을 할 수 있지만, 내가 시도했지만 약간 길고 혼란스러워지고있다. 어떤 충고라도 감사 할 것입니다.안드로이드 (반복 숫자에 대한 배열 검사 방법)

int test[] = {0,0,0,0,0,0,0}; (The Array) 

(A method to check if any of the arrays numbers are repeated) 

답변

3

당신은 의 수를 얻을 수 당신이 원하는에 repeated.Depending 횟수를 Collections.frequency() 메소드를 사용할 수 당신은 얼마나 많은 시간을 각각 정수의 배열을 반복하고 확인하실 수 있습니다 하나 되풀이. 항목 빈도가 해당 배열에서 반복되는 것보다 1보다 큰 경우 필요에 따라 다음 코드를 적용 할 수 있습니다. 참고 : 그런데 System.out.println()은 eclipse log cat 섹션에 출력을 제공합니다. 데모 용입니다. yuou 그것을 모방하려고하는 어떤

ArrayList<Integer> nums = new ArrayList<Integer>(); 
     nums.add(new Integer(3)); 
     nums.add(new Integer(3)); 
     nums.add(new Integer(3)); 
     nums.add(new Integer(2)); 
     nums.add(new Integer(2)); 
     nums.add(new Integer(1)); 
     System.out.println("Number of 1's" + " " + Collections.frequency(nums, 1)); 
     System.out.println("Number of 2's" + " " + Collections.frequency(nums, 2)); 
     System.out.println("Number of 3's" + " " + Collections.frequency(nums, 3)); 
1

는 중복 요소가없는 SET

모음입니다. 보다 형식적으로, 세트에는 e1.equals (e2) 및 최대 하나의 null 요소와 같은 요소 쌍 e1과 e2가 포함되어 있지 않습니다. 이 인터페이스는 이름에서 알 수 있듯이 수학적 집합 추상을 모델링합니다.

Set는 인터페이스이므로 HashSet 또는 TreeSet을 사용하여 해당 인터페이스를 구현할 수 있습니다. 동일한 값을 추가하려고해도 동일한 값의 개체가 하나만 있습니다.

이미 이벤트 또는 메소드를 실행하는 데있어 다른 객체가 있는지 확인하려면 해당 요소가 이미 세트에 존재하는지 확인하는 부울 검사를 반환하는 contains 함수를 사용할 수 있습니다.

+0

죄송합니다. 나는 android에 익숙하지 않습니다. 그게 무슨 뜻인지 모르겠습니다 ... –

+0

몇 가지 예제 코드에서 이걸 줄 수 있습니까? –

0

나는 같은 것을 써서 :

공공 부울 hasRepeatedNumbers을 (INT [] A) { INT [] B = 새로운 INT [a.length] System.arraycopy (a, 0, b, 0, a.length); Array.sort (b); int i; (b [i] == b [i-1])가 true를 반환하는 경우 for (i = 1; i < b.length; i ++) { ; } false를 반환합니다. }

우리는 배열 (실제로는 배열의 복사본입니다. 호출자의 원래 배열을 엉망으로 만들고 싶지 않으므로)을 정렬하고 인접한 중복을 감지하기 때문에 작동합니다. 배열이 정렬되기 때문에 모든 중복은 반드시 인접해야합니다.

배열이 커서 복사하는 것이 비용이 많이 들면 그 자리에서 수행 할 수 있지만 함수를이 효과에 문서화하십시오.

배열을 정렬 할 수없는 경우 세트를 작성한 다음 현재 값이 세트에 있으면 어레이 테스트를 반복 할 수 있습니다. 그렇지 않다면 세트에 넣으십시오.

+0

코드가 작동하지 않습니다. 마음에 드는 안드로이드 .. –

관련 문제