728x90
반응형
Collections 클래스 문제
- 숫자 5개를 스캐너로 입력 받아서 ArrayList에 넣기
- Collections 클래스의 sort를 이용해 정렬하기
- 출력 ex) 3->5->6->8->10
▶ main 코드
//list의 내용을 순서대로 출력
static void printList(ArrayList<Integer> list) {
Iterator<Integer> it = list.iterator();
while (it.hasNext()) {
Integer e = it.next();
String separator;
if (it.hasNext())
separator = "->";
else
separator = "\n";
System.out.print(e+separator);
}
}//printList_end
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
Scanner scan = new Scanner(System.in);
for(int i=0;i<5;i++){
System.out.print((i+1)+"번째 숫자를 입력하세요 >> ");
list.add(scan.nextInt());
}
System.out.println("<정렬 전 list>");
printList(list);
Collections.sort(list); //Collections 클래스의 sort 메소드를 이용해 정렬
System.out.println("<정렬 후 list>");
printList(list);
scan.close();
}//main_end
▶ 출력 결과
1번째 숫자를 입력하세요 >> 5
2번째 숫자를 입력하세요 >> 6
3번째 숫자를 입력하세요 >> 8
4번째 숫자를 입력하세요 >> 9
5번째 숫자를 입력하세요 >> 1
<정렬 전 list>
5->6->8->9->1
<정렬 후 list>
1->5->6->8->9
▶ 입력한 값의 인덱스 위치를 찾아보자
System.out.print("입력한 숫자 중 인덱스를 구하고 싶은 값을 입력하시오 >> ");
int num=scan.nextInt();
int index = Collections.binarySearch(list, num)+1;//num의 위치를 찾는다. 1번째부터 5번째까지 있다고 가정하고 +1
System.out.println(num+" <- "+index+"번째 위치에 있다.");
▶ 출력 결과
1번째 숫자를 입력하세요 >> 5
2번째 숫자를 입력하세요 >> 6
3번째 숫자를 입력하세요 >> 7
4번째 숫자를 입력하세요 >> 8
5번째 숫자를 입력하세요 >> 9
입력한 숫자 중 인덱스를 구하고 싶은 값을 입력하시오 >> 8
8 <- 4번째 위치에 있다.
※ sort 정렬을 한 뒤에 인덱스 값을 구해야 한다.
[JAVA] 컬렉션과 제네릭 (16일차)
1. 컬렉션 2. 제네릭 3. Vector 4. ArrayList 5. HashMap 1. 컬렉션 (collection) ▶ 컬렉션(collection)의 개념 요소(element) 객체들의 저장소 객체들의 컨테이너라고도 불린다. 요소의 개수에 따라 크기를 자동으로
deliciouscode.tistory.com
728x90
반응형
'HRD_훈련 > 실습' 카테고리의 다른 글
[JAVA] 시간 게임 (0) | 2023.06.10 |
---|---|
[JAVA] Calendar 문제 (18일차) (0) | 2023.06.09 |
[JAVA] Iterator 심화 문제 풀이 (17일차) (0) | 2023.06.08 |
[JAVA] 해시맵 심화 문제 풀이 (17일차) (0) | 2023.06.08 |
[JAVA] 해시맵 실습 (17일차) (0) | 2023.06.08 |