Java/Grammar 33

[Java 문법] Map의 get() method 형변환(typecasting)

Map의 기본 동작 Map에서 get(key) 메서드는 항상 Object 타입을 반환합니다.이는 Map이 다양한 타입의 값을 저장할 수 있기 때문입니다.ex. Map는 키 값에 따라 Integer, String, Double, Boolean 등 다양한 타입을 저장할 수 있습니다.따라서, get() 메서드로 데이터를 꺼내면, 컴파일러는 값이 Object라고 간주합니다.예시 1. 문제 상황this.id = map.get("id"); // 컴파일 오류 발생 오류 메시지 ➡️ incompatible types : Object cannot be converted to int이유 : map.get("id")의 반환 타입은 Object인데, 이를 int로 암묵적으로 변환할 수 없습니다. 2. 해결 방법this.id ..

Java/Grammar 2025.01.14

[Java 문법] 롬복(Lombok) @EqualsAndHashCode

@EqualsAndHashCodeLombok의 @EqualsAndHashCode를 사용하면, 객체의 필드 값을 기준으로 equals와 hashCode를 자동으로 생성할 수 있습니다. 이를 통해 isEqualTo에서 값이 동일하면 true를 반환하게 됩니다. * 예시@AllArgsConstructor@Getter@Setter@EqualsAndHashCode // equals와 hashCode 메서드 자동 생성public class WiseSaying { private int id; private String content; private String author; public WiseSaying(Map map) { this.id = (int) map.get("id"); ..

Java/Grammar 2025.01.13

[Java 문법] substring() method

substring() substring() 메서드는 문자열의 일부를 추출하여 새 문자열을 반환하는 데 사용됩니다. 이 메서드는 Java의 String 클래스에서 제공됩니다.사용법1. substring(int beginIndex)String str = "Hello, World!";String result = str.substring(7);System.out.println(result); // "World!"beginIndex는 0부터 시작하는 인덱스입니다.예제에서 beginIndex = 7이므로 "World!"부터 반환됩니다.2. substring(int beginIndex, int endIndex)String str = "Hello, World!";String result = str.substring(7..

Java/Grammar 2025.01.12

[Java 문법] StringBuilder

StringBuilder StringBuilder는 Java에서 문자열을 효율적으로 조작하기 위한 클래스입니다.문자열을 여러 번 수정(추가, 삭제 등)해야 할 때, 기존의 String 클래스보다 성능이 뛰어납니다.String은 불변 객체(immutable)인 반면, StringBuilder는 가변 객체(mutable)입니다.String VS StringBuilder1. String은 불변 객체한 번 생성된 문자열은 변경되지 않으며, 문자열을 수정할 때마다 새로운 객체를 만듭니다.따라서 문자열을 자주 수정하면 메모리와 성능에 비효율적입니다.2. StringBuilder는 가변 객체내부 버퍼를 사용해 문자열을 변경하며, 새 객체를 생성하지 않습니다.문자열을 반복해서 수정해야 할 경우 더 빠르고 메모리 효율적..

Java/Grammar 2025.01.10

[Java 문법] map.forEach()

map.forEach() Map.forEach()는 Java 8에서 추가된 람다 표현식 기반의 메서드로, Map의 각 키-값 쌍에 대해 반복 작업을 수행할 때 사용됩니다.forEach()는 Map 인터페이스에서 제공하며, 내부적으로 Map의 모든 엔트리를 처리합니다.기본 문법 map.forEach((key, value) -> { // key와 value를 이용한 작업 수행});예제 1. 간단한 사용import java.util.HashMap;import java.util.Map;public class Main { public static void main(String[] args) { // Map 생성 Map map = new HashMap(); map.p..

Java/Grammar 2025.01.05

[Java 문법] Stream API 주요 method 정리

Stream API 기존 게시글 참조 !https://annovation.tistory.com/21 [Java 문법] Stream APIStream APIJava Stream은 Java 8에서 도입된 기능으로, 데이터를 선언적이고 효율적으로 처리할 수 있는 도구입니다.기존의 반복문(for, while)을 사용한 명령형 방식과 달리, Stream은 함수형 프로그래밍annovation.tistory.com구성 요소 별 주요 메서드  1. 중간 연산 (Intermediate Operations)메서드설명예제filter()조건에 맞는 요소만 필터링filter(n -> n > 5)map()각 요소를 변환map(n -> n * 2)sorted()요소를 정렬 (기본 오름차순 또는 Comparator 사용)sorted..

Java/Grammar 2024.12.31

[Java 문법] 데이터 타입 (Data Type)

데이터 타입 Java에서는 두 가지 주요 데이터 타입이 있습니다.기본 데이터 타입 (Primitive Type)int, float, boolean, char 등값 자체를 저장하며, 경량으로 동작합니다.ex. int value = 10;참조 데이터 타입 (Reference Type)사용자 정의 클래스, 배열, 인터페이스 등이 포함됩니다.메모리 주소를 참조하여 실제 데이터를 가리킵니다.ex. App app = new App();기본 데이터 타입 (Primitive Type) Java는 메모리 사용을 효율적으로 관리하기 위해 8개의 기본 데이터 타입을 제공합니다.이들은 정수형, 실수형, 문자형, 논리형으로 나뉩니다.데이터 타입크기기본값설명byte1 바이트0-128 ~ 127 범위의 정수 저장short2 바이트..

Java/Grammar 2024.12.28

[Java 문법] 롬복 (Lombok)

롬복 (Lombok) 롬복(Lombok)은 Java에서 반복적인 코드를 줄여주는 라이브러리입니다.롬복을 사용하면 Getter, Setter, Constructor, toString, Equals/HashCode 같은 코드를 자동으로 생성해줍니다.이를 통해 코드 작성 시간을 줄이고 가독성을 높일 수 있는 도구입니다.주요 기능 1. Getter/Setter 자동 생성클래스 필드에 대해 @Getter, @Setter 어노테이션을 사용하면 getter와 setter 메서드가 자동으로 생성됩니다.2. 생성자 자동 생성@NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor 어노테이션으로 생성자를 자동 생성합니다.3. toString, Equals, Ha..

Java/Grammar 2024.12.22

[Java 문법] HashMap

HashMapHashMap은 Map 인터페이스를 구현한 대표적인 클래스입니다.해시 테이블(Hash Table) 기반으로 동작하며, 데이터를 빠르게 검색하고 저장할 수 있습니다.빠른 데이터 접근과 효율적인 검색이 필요할 때 사용합니다.특징 키와 값으로 구성된 데이터를 저장데이터는 내부적으로 해시 코드(Hash Code)를 사용해 저장됩니다.동일한 해시 코드가 발생하면 체이닝 방식으로 충돌을 처리합니다.검색 시에도 키의 해시 코드를 계산하여 해당 위치에서 값을 빠르게 찾습니다.빠른 검색 속도평균적으로 O(1)의 시간 복잡도로 데이터를 검색하거나 삽입할 수 있습니다.키는 고유, 값은 중복 가능키가 중복되면 기존 값을 덮어씁니다.null 허용하나의 null 키와 여러 개의 null 값을 허용합니다.순서를 보장하..

Java/Grammar 2024.12.10

[Java 문법] Map

Map Map은 Java에서 키(key)-값(value) 쌍으로 데이터를 저장하는 인터페이스입니다.키는 고유하며, 각 키는 하나의 값에 매핑됩니다.값을 저장하거나 조회할 때 키를 사용합니다.Java Collections Framework의 일부이며, 데이터 구조의 일종입니다.특징 키는 중복 불가하나의 Map에서 같은 키를 두 번 사용할 수 없습니다.새로운 값을 추가하면 기존 값을 덮어씁니다.값은 중복 가능여러 키가 같은 값을 가질 수 있습니다.Null 허용 여부키와 값 모두 null을 허용하는지 여부는 구현체에 따라 다릅니다.주요 메서드 메서드설명put(key, value)키-값 쌍 저장 또는 기존 키의 값을 갱신get(key)키에 매핑된 값을 반환 (키가 없으면 null 반환)getOrDefault(k..

Java/Grammar 2024.12.09