JAVA5 Enum 조회 성능 향상하기(feat. Map) 🥲 문제 상황현재 진행하고 있는 프로젝트에서 업로드된 파일의 MIME Type을 활용하여 “IMAGE”, “FILE”, “VIDEO”로 구분할 수 있도록 아래와 같이 Enum을 활용하였다.현재는 총 23개의 Type을 생성해 놨지만, 추후 더 추가될 가능성도 있다. 내가 원하고자 하는 바는 인자(Argument)로 mimeType을 입력하면, 해당 콘텐츠 타입의 keyMediaType(”IMAGE”, “FILE”, “VIDEO” 중 하나)를 반환하는 것이다.아래의 그림에 구현된 코드를 보면 기존에 나는 Arrays.stream() 을 활용하여 Enum의 모든 요소를 순회하면서 조건에 맞는 요소를 찾는 방식이었다. 위 방법의 시간복잡도는 O(n)이다. 현재 내가 작성한 요소의 개수가 23개라면, 최악의 .. 2025. 1. 21. Arrays.asList()와 List.of()의 차이 Arrays.asList()Arrays.asList()로 반환된 List는 값의 수정이 가능하다.List list = Arrays.asList(1, 2, null);list.set(1, 10); // OK참고 *Arrays.asList()가 반환하는 ArrayList 타입은 java.util.ArrayList가 가 아니라 Arrays 내부 클래스입니다. add()와 remove() 메서드는 구현되어 있지 않아서, 배열의 크기 변동과 관련된 행동은 할 수 없습니다.Null을 허용한다.List list = Arrays.asList(1, 2, null); // OKlist.contains(null); // Returns false객체를 참조한다.Integer[] original = {1,2};List newP.. 2024. 9. 30. stream.toList() 와 .collect(Collectors.toList()) 차이 나는 보통 스트림을 사용할 때, toList()와 collect(Collectors.toList())를 주로 사용한다. toList()는 Java 16때 추가된 것이고, collect(Collectors.toList())는 Java 8때 등장한 것이다.나는 더 간결하다는 이유로 toList()를 보통 사용하였다. 하지만, 어떤 차이점이 있는 지 알아보기 위해 글을 작성한다..collect(Collectors.toList())반환되는 List의 수정이 가능하다.Null값을 허용한다. @DisplayName("Collectors.toList() modify 가능 테스트") @Test public void collectorsToList() { List modifiable = Stream.. 2024. 9. 30. Enum 목차enum이란?enum을 사용하여 상수 정의하기enum과 생성자enum JVM메모리 구조enum 메소드EnumSetenum 활용하기1. enum이란?enum(enumeration)은 관련이 있는 상수들의 집합이다.enum은 자바 1.5버전부터 새롭게 추가되었다.자바에서는 final로 String과 같은 문자열이나 숫자들을 나타내는 기본 자료형의 값을 고정할 수 있는데, 그 고정된 값을 상수(constant)라고 한다.자바의 Enum은 상수 그룹을 정의하는 데 쓰이는 특수한 자바 클래스이다.enum도 클래스고 객체이기 때문에, object클래스를 상속받고, object클래스의 메소드를 사용할 수 있다.java의 컴파일러는 enum을 아래와 같은 형태로 바꾼다.enum{}final class Week ex.. 2023. 9. 15. equals()와 hashcode() equals()와 hashcode()자바의 모든 객체는 Object클래스를 상속받고 있는데, equals()와 hashcode()는 Object클래스에 정의되어 있는 메소드이다. 때문에, 모든 객체는 equals()와 hashcode()를 상속받고 있다.1. equals()1) equals()란?public boolean equals(Object obj) { return (this == obj);}→ 일반적으로 Object클래스의 equals()는 위와 같이 정의되어 있다.모든 객체는 위에 작성된 equals()를 상속받기에 반환하는 값인 “this == obj”를 보면 기본적으로 2개의 객체가 동일한지 검사하기 위해 사용된다고 볼 수 있다. 즉, 동일성(identity)을 비교하고 있다.객체가 동.. 2023. 9. 6. 이전 1 다음