자바 질문있습니다

자바 질문있습니다

작성일 2020.10.06댓글 1건
    게시물 수정 , 삭제는 로그인 필요

조건 맞춰 풀어주세요

l  정수 난수를 발생시켜 list에 저장한다.

List 중에서 ArrayList를 사용한다.

l  리스트를 출력한다.

출력할 때는 iterator를 사용한다.

l   list를 정렬한다.

list를 오름차순으로 정렬하려면 Collections 클래스의 static 메소드인 sort를 이용한다: Collections.sort(list). 그러면 list 내의 원소들이 오름차순으로 정렬된다.

l  정렬된 리스트를 출력한다.

출력할 때는 iterator를 사용한다.

l  만든 list에 들어 있는 원소들로 set을 구성한다. (중복된 원소 제거)

Set 중에서 HashSet을 이용한다. list에 들어 있는 원소들로 set을 구성하려면 아래와 같이 하면 된다.

Set<Integer> set = new HashSet<>(list)

l  Set을 출력한다.

l  list에 있는 각 원소가 얼마나 중복되었는지를 조사하여 map에 저장한다.

map<원소, 중복도>의 쌍으로 저장한다.

Map 중에서 HashMap을 사용한다.

l  map의 내용을 출력한다.

l  중복횟수의 도수분포를 조사하여 배열에 저장한다.

           0번 방: 사용하지 않음

           1번 방: 중복되지 않은 경우가 몇 건인가?

           2번 방: 2중복된 경우(2번 나타남)가 몇 건인가?

           3번 방: 3중복된 경우(3번 나타남)가 몇 건인가?

      

l  중복횟수의 도수분포를 출력한다.

실행 예는 아래와 같습니다. 실행할 때마다 출력이 조금씩 달라집니다. NMAX를 변경하면 출력이 많이 달라집니다.





profile_image 익명 작성일 -

import java.util.*; public class CollectionTest { public static void main(String[] args) { final int N = 100; final int MAX = 10; Random random = new Random(); System.out.println("N(난수 발생 갯수) = " + N); System.out.println("MAX(난수 최댓값 + 1) = " + MAX); List<Integer> list = new ArrayList<>(); for (int i = 0; i < N; i++) { list.add(random.nextInt(MAX)); } System.out.println("list"); Iterator<Integer> iterator = list.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } Collections.sort(list); System.out.println("list - 오름차순으로 정렬된 난수"); iterator = list.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } Set<Integer> set = new HashSet<>(list); System.out.println("set - 중복을 제거한 난수 집합"); iterator = set.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } Map<Integer, Integer> map = new HashMap<>(); for (Integer integer : list) { map.put(integer, map.getOrDefault(integer, 0) + 1); } System.out.println("list의 각 숫자가 몇 번이나 중복되었는가?"); System.out.println("map - 숫자:중복도"); Set<Integer> keySet = map.keySet(); int[] array = new int[N + 1]; for (Integer key : keySet) { System.out.println(key + ":" + map.get(key)); array[map.get(key)]++; } System.out.println("중복도 도수분포"); for (int i = 1; i <= N; i++) { if (array[i] != 0) System.out.println(i + "중복: " + array[i] + "개"); } } }

N(난수 발생 갯수) = 100 MAX(난수 최댓값 + 1) = 10 list 3 1 4 4 9 9 9 9 6 0 8 8 0 2 3 1 5 0 5 3 2 2 5 3 2 7 8 5 9 4 6 4 7 0 3 5 9 6 6 8 7 9 4 4 5 3 3 1 2 9 5 8 6 2 3 7 9 3 5 8 3 3 2 3 2 2 3 2 8 2 9 6 5 3 1 2 1 4 1 3 8 0 3 1 7 4 4 7 3 8 5 4 3 3 8 3 8 8 2 8 list - 오름차순으로 정렬된 난수 0 0 0 0 0 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 set - 중복을 제거한 난수 집합 0 1 2 3 4 5 6 7 8 9 list의 각 숫자가 몇 번이나 중복되었는가? map - 숫자:중복도 0:5 1:7 2:13 3:20 4:10 5:10 6:6 7:6 8:13 9:10 중복도 도수분포 5중복: 1개 6중복: 2개 7중복: 1개 10중복: 3개 13중복: 2개 20중복: 1개 Process finished with exit code 0

안녕하세요 자바 질문있습니다.

대학교 과제를 만들고 있는데요. keylistener의 keypressed를 이용해서 캐릭터를 움직이는 것을 구현했습니다. 그런데 방향키를 꾹 누르면 한 칸 움직였다가, 0.5초?...

자바스크립트 함수에 대해 질문있습니다.

안녕하세요 현재 자바스크립트를 공부중인 초보자입니다. 자바스크립트를 공부하다 함수에 대해 알게 되었는데 문법으로만 봤을땐 이해가 어느정도 되는것같은데 직접...

자바스크립트 공부에 대해 질문있습니다.

현재 자바스크립트를 공부중인 프론트엔드 개발자 취업준비생입니다. 아직 실력이 많이 없다보니 힘든점이 많은데 인강을 보면서 투두리스트를 따라 만들때는 어렵긴하지만...

자바 질문있습니다

부모클래스에 default 생성자가 없으면 상속이 안되나요? 아래는 부모클래스 의 필드와 매개변수있는 생성자입니다. 안녕하세요. 생성자는 상속이 되지 않습니다. 부모의...

자바 질문있습니다.

[code] public class exc1 { public static void main(String[] args)throws Exception{ int[] arr= new int[10]; int arr[0] =Integer.parseInt("100");// 뒤에 10이...

자바 질문있습니다.

@Controller public class FileUploader_controller { @GetMapping( "/upload") public String f_upload() { return "fileUpload"; } private static final String F_PATH = "C:/Users/user8241...