| int | Integer | |
|---|---|---|
| 장점 | 메모리 사용량이 적음 | Nullable 가능 (null 허용) |
| 값이 절대 null이 아님 | 객체로 추가 기능 가능 | |
| 단점 | 초기값이 0이 됨 | 메모리 사용량이 더 많음 |
| NullPointerException 발생 가능 |
Map<String, String> sports = new HashMap<>();
sports.put("100", "BasketBall");
sports.getOrDefault("100", "BasketBall");
sports.computeIfAbsent("101", k -> "");
...
// Optional.of()
// null이 아님이 확실할 경우 사용
return Optional.of(MEMBER_STATUS);
// Optional.ofNullable()
// null일 가능성이 있는 경우 사용
return Optional.ofNullable(member.getName());
...
// equals()
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof Optional)) {
return false;
}
Optional<?> other = (Optional<?>) obj;
return objects.equals(value, other.value);
}
for (int i=0; i<list.size(); i++)
| Assert 메소드 | 설명 |
|---|---|
| assertEquals(expected, actual) | 예상값과 실제값이 동일한지 확인 |
| assertNotEquals(unexpected, actual) | 예상하지 않은 값과 실제값이 동일하지 않은지 확인 |
| assertTrue(condition) | 조건이 참인지 확인 |
| assertFalse(condition) | 조건이 거짓인지 확인 |
| assertNull(object) | 객체가 null인지 확인 |
| assertNotNull(object) | 객체가 null이 아닌지 확인 |
| assertSame(expected, actual) | 예상값과 실제값이 같은 객체를 참조하는지 확인 |
| assertNotSame(unexpected, actual) | 예상하지 않은 값과 실제값이 다른 객체를 참조하는지 확인 |
| assertArrayEquals(expectedArray, actualArray) | 배열의 예상값과 실제값이 동일한지 확인 |
| 특성 | 배열 (Array) | 리스트 (List) | 컬렉션 (Collection) |
|---|---|---|---|
| 크기 조정 | 고정된 크기 | 동적으로 크기 조정 가능 | 동적으로 크기 조정 가능 |
| 타입 | 같은 타입의 원소 | 같은 타입 또는 다른 타입의 원소 | 같은 타입 또는 다른 타입의 원소 |
| 순서 | 순차적으로 저장 | 순차적으로 저장 | 보장되는 순서가 없음 (일부 구현체 제외) |
| 중복 허용 | 허용 | 허용 | 허용 |
| 인덱스 접근 | O (인덱스로 빠른 접근 가능) | O (인덱스로 빠른 접근 가능) | X (일부 구현체 제외) |
| 구현체 | 기본 데이터 구조 | ArrayList, LinkedList 등 | 다양한 구현체 (HashSet, HashMap 등) |
| 메소드 | 설명 |
|---|---|
| Arrays.asList() | 배열 -> 리스트 |
| list.toArray(new type[0]) | 리스트 -> 배열 |
| List.of() | 불변 리스트 생성 |
리사
리에
Java의 of 메서드는 다양한 컬렉션 타입을 생성할 때 사용됩니다. Java 9부터 List, Set, Map 인터페이스에 추가되었습니다. 이 메서드는 불변 컬렉션을 생성합니다.
예를 들어, List.of() 메서드를 사용하여 여러 요소를 포함하는 불변 리스트를 생성할 수 있습니다.
List<String> list = List.of("사과", "바나나", "딸기");
이 코드는 "사과", "바나나", "딸기" 세 개의 요소를 가진 불변 리스트를 생성합니다. 이 리스트는 요소를 추가, 제거할 수 없으며, 변경할 수도 없습니다. 이와 같은 불변 컬렉션은 코드의 안정성을 높이고, 함수형 프로그래밍 스타일을 촉진합니다.
of 메서드는 해당 요소들을 인자로 받아 불변 컬렉션을 생성한다.
Set<Integer> set = Set.of(1, 2, 3, 4, 5);
Map<String, Integer> map = Map.of("One", 1, "Two", 2, "Three", 3);