Java 275

[Java 컬렉션 핵심 요약] 필수 클래스 개념 + 한 줄 정리로 끝내기

✅ 컬렉션이란?자바에서 데이터를 효율적으로 저장하고 처리하기 위한 자료 구조의 집합.List, Set, Map 같은 인터페이스와 이를 구현한 다양한 클래스들이 포함됩니다.✅ Java 컬렉션 주요 클래스 요약이름설명주요 특징동기화순서 유지중복 허용ArrayList동적 배열빠른 검색, 느린 삽입/삭제❌✅ (인덱스 순)✅Vector동기화된 ArrayListArrayList + Thread-safe✅✅✅LinkedList양방향 연결 리스트삽입/삭제 빠름, 검색 느림❌✅✅HashSet중복 없는 집합순서 없음, 빠른 검색❌❌❌HashMap키-값 쌍 저장null 키 1개 허용❌❌키 중복 ❌Hashtable동기화된 HashMapnull 허용 ❌✅❌키 중복 ❌TreeSet정렬된 집합오름차순 정렬 자동 처리❌✅ (정렬 기..

Java/자바 정리 2025.05.21

[ 26일차 145~152 ] 수업 정리 - 자바

📌 오전 수업 내용 요약1. TreeSet과 정렬 관련 메서드TreeSet은 자동으로 오름차순 정렬됨.주요 메서드:first(), last(): 최소/최댓값lower(E e), higher(E e): 특정 값보다 작거나 큰 값floor(E e), ceiling(E e): 특정 값과 같거나 가장 가까운 값descendingSet(): 내림차순으로 정렬된 NavigableSet 반환tailSet(), subSet(): 특정 범위 필터링 가능2. TreeMap과 정렬 관련 메서드TreeMap도 자동 정렬됨 (Key 기준).주요 메서드:firstEntry(), lastEntry(): 가장 앞/뒤 EntrylowerEntry(K key): 특정 Key보다 바로 앞 EntrydescendingMap(): 내림차순..

국비 2025.05.21

152. 불변 컬렉션 생성하기 – List.of(), copyOf(), Set.of() 등 활용

자바 9부터는 컬렉션을 간단하게 불변(immutable) 형태로 생성할 수 있는 편리한 메서드들이 제공됩니다.불변 컬렉션은 한 번 만들어지면 데이터를 변경할 수 없는 컬렉션으로,데이터의 무결성을 보장하거나 수정이 불필요한 데이터를 안전하게 공유할 때 매우 유용합니다.이번 예제에서는 다양한 방법으로 불변 컬렉션을 생성하는 방법을 정리해 보겠습니다.📌 예제 코드import java.util.*;public class ImmutableExample { public static void main(String[] args) { // 요소를 직접 지정하여 불변 컬렉션 생성 List immutableList1 = List.of("A", "B", "C"); Set immutableSet1 = Set.of("A"..

Java/자바 정리 2025.05.21

151. HashMap을 동기화하기 – Collections.synchronizedMap()

HashMap은 기본적으로 멀티스레드 환경에서 안전하지 않은 컬렉션입니다.여러 스레드가 동시에 데이터를 수정하거나 조회하면 예기치 않은 동작이나 데이터 손실이 발생할 수 있습니다.이를 방지하기 위해 자바에서는 Collections.synchronizedMap()을 통해Map을 동기화된 상태로 래핑(wrapping)하여 사용할 수 있도록 지원합니다.📌 예제 코드import java.util.Collections;import java.util.HashMap;import java.util.Map;public class SynchronizedMapExample { public static void main(String[] args) { Map map = Collections.synchronizedMap(ne..

Java/자바 정리 2025.05.21

150. Queue 컬렉션 – 선입선출 메시지 처리 방식

Queue는 선입선출(FIFO: First-In-First-Out) 구조를 가지는 자료구조입니다.먼저 추가한 데이터가 먼저 처리되는 구조로, 작업 요청, 대기열 처리, 메시지 큐 등 다양한 분야에서 활용됩니다.이번 예제에서는 Message 객체를 Queue에 넣고 순서대로 꺼내면서명령어(command)에 따라 서로 다른 작업을 수행하는 구조를 살펴봅니다.📦 Message.javapackage ch15.sec06;public class Message { public String command; public String to; public Message(String command, String to) { this.command = command; this.to = to; }}📌 예제 코드packag..

Java/자바 정리 2025.05.21

149. Stack 컬렉션 – 후입선출 구조 실습

Stack은 후입선출(LIFO: Last-In-First-Out) 구조를 가진 자료구조로,가장 나중에 들어온 데이터가 가장 먼저 나가는 특징이 있습니다.이번 예제에서는 Coin 객체를 Stack에 저장하고, 순서대로 꺼내는 과정을 통해스택의 동작 원리를 확인해 보겠습니다.📦 Coin.javapackage ch15.sec05;public class Coin { private int value; public Coin(int value) { this.setValue(value); } public int getValue() { return value; } public void setValue(int value) { this.value = value; }}📌 예제 코드package ch15.sec05;..

Java/자바 정리 2025.05.21

148. TreeSet에 정렬 기준 주입하기 – Comparator 활용

사용자 정의 객체를 TreeSet에 저장할 때, 정렬 기준을 클래스 내부에 직접 정의하지 않고외부에서 비교 기준을 주입할 수 있는 방법이 바로 Comparator입니다.이번 예제에서는 Fruit 객체를 가격 기준으로 정렬하는 FruitComparator를 만들고,이를 TreeSet에 적용하는 방법을 배워봅니다.📦 Fruit.javapackage ch15.sec05;public class Fruit { public String name; public int price; public Fruit(String name, int price) { this.name = name; this.price = price; }}📦 FruitComparator.javapackage ch15.sec05;import ja..

Java/자바 정리 2025.05.21

147. TreeSet과 Comparable – 사용자 정의 객체 정렬하기

기본 타입이 아닌 사용자 정의 객체를 TreeSet에 저장할 경우,해당 객체가 어떤 기준으로 정렬될지를 명시해야 합니다.이를 위해 자바에서는 Comparable 인터페이스를 구현하여정렬 기준을 직접 정의할 수 있습니다.이번 예제는 Parson 클래스를 나이 기준으로 정렬되도록 만든 후 TreeSet에 저장하는 예제입니다.📦 Parson.javapackage ch15.sec05;public class Parson implements Comparable { public String name; public int age; public Parson(String name, int age) { this.name = name; this.age = age; } @Override public int compar..

Java/자바 정리 2025.05.21

146. TreeMap으로 정렬과 구간 검색하기

TreeMap은 키를 기준으로 자동 정렬되는 Map 컬렉션입니다.데이터를 저장할 때 키의 오름차순으로 정렬되며,firstEntry(), lastEntry() 등을 통해 처음과 마지막 데이터를 쉽게 조회할 수 있습니다.또한, subMap()이나 descendingMap() 등을 사용해 범위 검색이나 역순 탐색도 간단히 처리할 수 있습니다.📌 예제 코드import java.util.*;import java.util.Map.Entry;public class TreeMapExample { public static void main(String[] args) { TreeMap treeMap = new TreeMap(); treeMap.put("apple", 10); treeMap.put("forever",..

Java/자바 정리 2025.05.21

145. TreeSet으로 정렬과 범위 검색하기

TreeSet은 Set 컬렉션 중에서 자동 정렬 기능이 있는 자료구조입니다.저장된 데이터는 입력 순서와 관계없이 오름차순으로 정렬되어 저장되며,특정 값보다 높은 값, 낮은 값, 구간 검색 등 다양한 탐색 기능을 제공합니다.이번 예제에서는 TreeSet을 활용해 정렬, 최대·최소, 범위 검색 기능을 실습해 보겠습니다.📌 예제 코드import java.util.NavigableSet;import java.util.TreeSet;public class TreeSetExample { public static void main(String[] args) { TreeSet scores = new TreeSet(); scores.add(87); scores.add(98); scores.add(75); ..

Java/자바 정리 2025.05.21
반응형