자바 ArrayList 는 중복 되 지 않 는 랜 덤 수 를 어떻게 생 성 합 니까?
/**
* N--M,N ArrayList
*
* @param startRange
* @param endRange
* @param count
*/
public static ArrayList<Integer> getRandom(int startRange, int endRange, int count) {
ArrayList<Integer> arr = new ArrayList<>();
for (int i = 0; i < count; i++) {
arr.add(((int) (Math.random() * (endRange - startRange + 1) + startRange)));
for (int j = 0; j < i; j++) {
if (arr.get(i) == arr.get(j)) {
arr.remove(i);
i--;
break;
}
}
}
return arr;
}
이 실현 의 원 리 는 배열 을 사용 하 는 것 과 대체적으로 일치 하지만 주의해 야 할 몇 가지 점 입 니 다.저 는 여기 서 사용 하 는 반환 서열 입 니 다.매개 변 수 는 시작 값,최종 값 과 개수 만 있 습 니 다.그리고 하나의 Array List 수열 을 정 의 했 습 니 다.수열 의 add 방법 을 사용 하여 모든 발생 하 는 임 의 수 를 받 고 For 순환 을 사용 하여 중복 여 부 를 판단 합 니 다.만약 에 외부 순환 i 를 반복 하면-...그러나 여기 서 주의해 야 할 것 은:이때 Array List 에 현재 중 복 된 값 이 저장 되 어 있 기 때문에 i-만 사용 할 수 없고,이 조건 에 부합 되 지 않 는 수 를 정리 하 는 reove 방법 으로 제거 해 야 합 니 다.여 기 는 주의해 야 할 것 입 니 다.한 마디 가 쓰 여 있 지 않 으 면 작은 범위 에서 생 성 된 난수 가 순환 할 수 있 습 니 다.다음은 성공 적 으로 실 행 된 캡 처 입 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.