본문 바로가기

WINK-(Web & App)/JAVA 스터디

[2024-2 Java 스터디] 정채은 #2주차

반응형

8. 맵

대응 관계를 쉽게 표현할 수 있게 해주는 자료형

 

키(key)와 값(value)을 한 쌍으로 갖는 자료형

 

 

<<HashMap>>

1. put

put 메서드 : key, value 추가

 

2. get

get 메서드 : key 해당하는 value 얻을 때 사용

 

3. containsKey

containsKey 메서드 : 맵에 해당 key 여부 T/F 리턴

 

4.remove

remove 메서드 : 해당 key 항목 삭제 후 value 값 리턴

 

5.size

size 메서드 : 맵 요소 개수 리턴

 

6.keySet

keySet() 메서드 : 맵 모든 key 모아서 집합 자료형으로 리턴

 

 

 

9. 집합

<<집합 자료형의 2가지 특징>>

  1. 중복 허용 X
  2. 순서 X

<<교집합, 합집합, 차집합 구하기>>

교집합 구하기 : retainAll 메서드 ---> intersection 출력

 

합집합 구하기 :  addAll 메서드

 

차집합 구하기 : removeAll 메서드

 

<<집합 자료형과 관련된 메서드 - add, addAll, remove>>

add 메서드 : 집합 자료형에 값을 추가할 때 사용

addAll 메서드 : 값을 한꺼번에 여러 개 추가할 때 사용

remove 메서드 : 특정 값 제거할 때 사용

 

 

10. 상수 집합

enum 자료형 : 연관된 여러개 상수 집합 정의할 때 사용

 

<<enum이 필요한 이유 --> 사용시 장점>>

  • 매직 넘버 사용할 대 보다 코드 명확
  • 잘못된 값 사용해 생기는 오류 막기 가능 O

 

11. 형 변환과 final

 

<< 형 변환 >>

 

Integer : 자료형의 Wrapper 클래스

 

정수 ---> 문자열 : " "

                            String.valueOf(정수) Integer.toString(정수)

 

 

<<final>>

자료형에 값 단!!! 한번 설정하는 키워드

 

3.5 퀴즈

 

다음 중 HashMap의 특징은?  C

 

a) 순서를 보장한다.

b) 키가 중복될 수 있다.

c) null 키를 허용한다.

d) 동기화되어 있다.

 

 

Map에서 키-값 쌍을 추가할 때 사용하는 메서드는? A

 

a) put()

b) add()

c) insert()

d) addEntry()

 

다음 코드의 출력 결과는 무엇인가?

                                                                        

Map<String, Integer> map = new HashMap<>();
map.put("Java", 8);
map.put("Python", 3);
System.out.println(map.get("Java"));

a) 3

b) 8

c) null

d) Error

 

Map에 키가 존재하는지 여부를 알 수 있는 메서드는? D

 

a) get()

b) isEmpty()

c) containsValue()

d) containsKey()

 

 

Set의 주요 특징 중 하나는 무엇인가? C

 

a) 순서를 유지한다.

b) 키-값 쌍으로 데이터를 저장한다.

c) 중복된 요소를 허용하지 않는다.

d) null 값을 허용하지 않는다.

 

 

다음 코드의 출력 결과는 무엇인가?  A

Set<String> set = new HashSet<>();
set.add("Java");
set.add("Java");
System.out.println(set.size());

a) 1

b) 2

c) 0

d) Error

 

 

Set에 요소를 추가할 때 사용하는 메서드는?  A

 

a) add()

b) put()

c) insert()

d) append()

 

 

Java에서 자동 형 변환(implicit casting)이 이루어지는 경우는?  C

 

a) int에서 byte로 변환할 때

b) float에서 int로 변환할 때

c) int에서 double로 변환할 때

d) char에서 int로 변환할 때

 

다음 코드의 출력 결과는 무엇인가?  A

double d = 9.78;
int i = (int) d;
System.out.println(i);

a) 9

b) 10

c) 9.78

d) Error

 

 

다음 중 final 키워드의 올바른 사용법이 아닌 것은? A

 

a) final 변수를 재할당할 수 있다.

b) final 메서드는 오버라이딩할 수 없다.

c) final 클래스는 상속할 수 없다.

d) final 배열의 길이는 고정된다.

 

 

 

다음 코드의 출력 결과는 무엇인가?  C

final int x = 10;
x = 15; // 이 줄에서 에러 발생
System.out.println(x);

a) 10

b) 15

c) Error

d) 0

 

1. Java의 Set 인터페이스를 사용하는 목적에 대해 서술하시오.

-->

  1. 중복 허용 X --> 중복을 방지함
  2. 순서 X 

   자동으로 정렬된 형태의 집합 유지가능

 

 

2. 형 변환(타입 캐스팅)의 개념을 설명하고, 자바에서의 자동 형 변환과 수동 형 변환의 차이점을 서술하시오.

-->

      형 변환이란 데이터 타입을 바꾸는 것

      자동 형 변환 :  작은 타입 -> 큰 타입 , 데이터 손실 X , 컴파일러 처리

      수동 형 변환 : 큰 타입 -> 작은 타입 , 데이터 손실 O , 개발자가..

      

 

3. Java의 final 키워드에 대해 설명하고, final 변수를 사용할 때의 장점을 서술하시오.

-->

      값 변경 X , 값 변경 하지 못하게 할때 고정시키고 사용하면 좋다.

 

4. 형 변환 시 발생할 수 있는 예외 상황에 대해 설명하고, ClassCastException이 발생하는 경우를 예로 들어 설명하시오.

-->

      예외 상황 : ClassCastException

                        올바르지 않은 다운캐스팅(부모 클래스 -> 자식 클래스 변환)

 

반응형