외계나무 2023. 10. 27. 15:25

매개변수와 인자

매개변수 (Parameter)

: 함수 또는 메서드의 정의 부분에서 사용. 함수가 어떤 종류의 입력을 받을 것인지 명시하는 역할.
→ 매개변수는 메서드 내에서 사용 예정인 변수이다. 매개변수는 함수 또는 메서드를 정의할 때 사용된다.

인자 (Argument)

: 함수 또는 메서드를 호출할 때 전달되는 값 또는 표현식.
→ 인자는 메서드 내에서 매개변수에 할당되어 작업을 수행하는 데 사용된다. 함수 또는 메서드를 호출할 때 제공된다.

int num = 123;  // num은 변수
sum(num);  // num은 인자 (값)

void sum(int num) {  // num은 매개변수
    System.out.println("sum은 "+num);  // num은 인자 (값)
}



'Map instance = new HashMap<>();'

Map 인터페이스와 그를 상속받은 클래스들

: Map 인터페이스를 상속받는 클래스들은 키-값 쌍을 저장하고 관리하는데 사용된다.
다음은 Map 인터페이스를 구현하는 클래스들에 대한 간략한 설명이다.

1. HashMap

  • 해시맵으로 구현, 가장 일반적으로 사용되는 Map 구현체 중 하나.
  • 키-값 쌍을 해시 함수를 사용하여 저장하고 검색, 빠른 검색 속도 제공.
  • 순서 보장 X, 중복 키 허용 X.

2. TreeMap

  • 이진 검색 트리로 구현, 정렬된 순서로 키를 저장함.
  • 키는 정렬되므로 범위 기반 검색 및 정렬된 결과를 얻을 때 유용.
  • 중복 키 허용 X, 키 비교자(Comparator)를 지정 가능.

3. LinkedHashMap

  • 해시맵의 확장, 삽입 순서를 보존하는 HashMap (해시맵과 순서의 결합).
  • 키-값 쌍을 추가한 순서대로 순회할 수 있음.

4. Hashtable

5. ConcurrentHashMa

6. WeakHashMap

7. EnumMap

(4-7은 다음에...)

→ List와 ArrayList의 경우와 마찬가지로, 이렇게 객체를 인터페이스로 선언하고 하위 클래스로 초기화하면 나중에 해당 인터페이스의 다른 구현체로 쉽게 전환할 수 있으며, 코드의 유지보수와 확장이 더 쉬워진다.



HashMap의 메서드들

(당장 쓸 것 같은 것 위주로)

put(key, value);

: 키-값 쌍 Map에 추가.

get(key);

: 키에 해당하는 값 반환, 없으면 null.

remove(key);

: 키에 해당하는 키-값 쌍 삭제.

containsKey(key);

: 키가 Map에 존재하는지 확인

containsValue(value);

: 값이 Map에 하나 이상 존재하는지 확인

size();

: Map에 저장된 키-값 쌍 개수 반환

isEmpty();

: Map 비었는지 확인

clear();

: Map 비우기



ArrayList의 메서드들

(당장 쓸 것 같은 것 위주로)

add(element);

: List 맨 끝에 요소 추가

add(index, element);

: index 위치에 요소 삽입, 나머지는 하나씩 밀려남(+1).

get(index);

: index 위치의 요소 반환.

set(index, element);

: index 위치의 요소를 새 요소로 대체.

remove(index);

: index 위치의 요소 제거, 나머지는 하나씩 당겨옴(-1).

size();

: List에 저장된 요소 개수 반환.

isEmpty();

: List 비었는지 확인.

clear();

: List 비우기.

indexOf(element);

: 지정된 요소의 첫번째 등장 위치 인덱스 반환, 없으면 -1 반환.

remove(element);

: 지정된 요소 제거.