프로그래밍

[자바 응용 문제] 컬렉션 프레임워크 본문

자바/자바 예제 풀이

[자바 응용 문제] 컬렉션 프레임워크

시케 2023. 5. 30. 23:37
728x90
반응형

컬렉션 프레임워크

교재: 멘토씨리즈 JAVA

445p ~ 447p

1. 다음 중 컬렉션의 설명으로 틀린 것은 무엇입니까?

  1. List 컬렉션은 index로 객체를 관리하며 중복 저장을 허용합니다.
  2. set 컬렉션은 순서를 유지하지 않으며 중복 저장을 허용하지 않습니다.
  3. Map 컬렉션은 key와 value로 구성된 Map.Entry를 저장합니다.
  4. LinkedList는 List 컬렉션과 동일하게 index로 객체를 관리합니다.

답: 4번

2. 다음 빈칸에 알맞은 코드를 작성해 보세요.

package section16;

import java.util.ArrayList;
import java.util.List;

public class PRACTICE_16_02 {
	
	public static void main(String[] args) {
		List _____ list = new ArrayList<>();
		
		list.add(1);
		list.add(2);
		list.add(3);
		list.add(4);
		list.add(5);
		
		for(int i =0; i<list.size(); i++) {
			System.out.println(list.get(i));
		}
		
	}
}

답안코드

package section16;

import java.util.ArrayList;
import java.util.List;

public class PRACTICE_16_02 {
	
	public static void main(String[] args) {
		List<Integer> list = new ArrayList<>();
		
		list.add(1);
		list.add(2);
		list.add(3);
		list.add(4);
		list.add(5);
		
		for(int i =0; i<list.size(); i++) {
			System.out.println(list.get(i));
		}
		
	}
}

3. 다음 중 set 컬렉션의 설명으로 틀린 것은 무엇입니까?

  1. 대표적인 구현 클래스는 HashSet, LinkedHashSet, TreeSet이 있습니다.
  2. Set 컬렉션에서 객체를 하나씩 꺼내오고 싶다면 Iterator를 이용합니다.
  3. HashSet()은 hashCode()와 equals()를 이용해 중복된 객체를 판별합니다.
  4. Set 컬렉션에는 null을 저장할 수 없습니다.

답: 4번

4. 랜덤 함수를 사용해 리스트 컬렉션에 10개의 숫자를 입력한 후 입력된 숫자 중에서 짝수의 합을 구하여 출력해 보세요.

package section16;

import java.util.ArrayList;
import java.util.List;

public class ArrayListSumExample {
	public static void main(String[] args) {
		List<Integer> list = new ArrayList<>();
		
		for(int i = 0; i<10; i++) {
			
			//랜덤 함수를 이용해 숫자 넣기
		}
		int sum = 0;
		for(int i = 0; i<list.size(); i++) {
			
			//랜덤 함수를 이용해 숫자 넣기
		}
		System.out.println("짝수의 합: "+sum);

	}

}

답안코드

package section16;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class ArrayListSumExample {
	public static void main(String[] args) {
		List<Integer> list = new ArrayList<>();

		for (int i = 0; i < 10; i++) {
			Random rand = new Random();
			int num = rand.nextInt();
			list.add(num);
		}

		int sum = 0;
		for (int i = 0; i < list.size(); i++) {
			if (list.get(i) % 2 == 0) {
				sum += list.get(i);
			}
		}
		System.out.println("짝수의 합: " + sum);

	}
}

 

5. 주머니에는 파란색, 빨간색, 검은색 공이 모두 10개 들어있습니다. 각각의 색깔을 지닌 공이 몇 개씩 들어있는지 Map 컬렉션을 사용하여 출력해 보세요.

package section16;

import java.util.HashMap;
import java.util.Map;

public class PRACTICE_16_05 {
	public static void main(String[] args) {
		String[] balls = { "빨간색", "파란색", "검은색", "검은색", "빨간색", "파란색", 
							"빨간색", "빨간색", "파란색", "검은색" };
		Map<String, Integer> map = new HashMap<>();
		for (String ball : balls) {

			// 코드를 입력하세요
		}
		// 출력 코드를 작성하세요
		
	}
}
빨간색: 4개
파란색: 3개
검은색: 3개

 

답안코드

package section16;

import java.util.HashMap;
import java.util.Map;

public class PRACTICE_16_05 {
	public static void main(String[] args) {
		String[] balls = { 	"빨간색", "파란색", "검은색", "검은색", "빨간색", "파란색",
							"빨간색", "빨간색", "파란색", "검은색" };
		Map<String, Integer> map = new HashMap<>();
		map.put("빨간색", 0);
		map.put("파란색", 0);
		map.put("검은색", 0);
		
		for (String ball : balls) {
			int count = map.get(ball);
			count++;
			map.put(ball, count);
		}
		System.out.println("빨간색: "+map.get("빨간색")+"개");
		System.out.println("파란색: "+map.get("파란색")+"개");
		System.out.println("검은색: "+map.get("검은색")+"개");
		
	}
}

6. 다음 빈칸에 알맞은 단어를 작성해 보세요.

  • 데이터를 다룰 때 사용되는 주요 자료 구조를 컬렉션 프레임워크라고 합니다.
  • 저장 순서가 유지되지 않으며, 객체를 중복해서 저장할 수 없고 하나의 null만 저장할 수 있는 Set컬렉션이 있습니다.
  • Map 컬렉션은 Key와 Value으로 구성된 Map.Entry 객체를 저장하는 구조를 가지고 있습니다.
728x90
반응형
Comments