728x90
반응형

Collections 클래스 문제

  1. 숫자 5개를 스캐너로 입력 받아서 ArrayList에 넣기
  2. Collections 클래스의 sort를 이용해 정렬하기
  3. 출력 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
반응형

+ Recent posts