목록Programming/JAVA (25)
프로그래밍 공부
Map자바에서 Map은 키-값 쌍을 저장하는 데이터 구조로, 특정 키에 대한 값을 효율적으로 저장하고 검색할 수 있도록 설계됨Map 인터페이스는 다양한 구현체를 가지고 있으며, 각각의 구현체는 서로 다른 특성과 성능을 제공함.Collection 프레임워크의 일부지만 Collection 인터페이스를 구현하지는 않음HashMap해시맵은 열쇠를 Null값과 저장할 수 있게 해줌정렬되지 않고 순서가 없음HashTableHashtable은 Vector와 비슷함, 동기화가 되어있음스레드가 해시맵에 비해 더 안전하고, 분류되어 있지도 순서가 있지도 않음LinkedHashMap삽입 순서가 유지됨, 정렬되어 있지는 않음해시맵보다 삽입 삭제 속도는 느림요소간 연결이 있어서 이터레이션은 훨씬 빠름TreeMap정럴된 상태로 ..
Queue****FIFO(First In First Out) 방식으로 작동하는 데이터 구조자바에서는 Queue 인터페이스와 그 구현체인 LinkedList, ArrayDeque 등을 사용하여 큐를 구현예제 import java.util.LinkedList; import java.util.Queue; public class QueueExample { public static void main(String[] args) { Queue queue = new LinkedList(); // 요소 추가 queue.add(1); queue.offer(2); queue.add(3); // 큐의 상태 출력 ..
Set 인터페이스소개Java의 Set 인터페이스는 중복된 요소를 허용하지 않는 컬렉션을 정의하는 인터페이스임.Set은 Java Collections Framework의 일부로, 집합을 표현하는 데 사용된다.주요 특징중복 요소 없음: Set은 동일한 요소를 두 번 저장할 수 없음. 따라서 중복된 값을 자동으로 제거함.순서 없음: Set 인터페이스를 구현한 클래스는 요소의 순서를 보장하지 않음.따라서 요소가 저장된 순서와 상관없이 요소를 가져올 수 있음.null 값 허용: Set은 null 값을 허용함. 단, 한 개의 null 값만 저장할 수 있음.주요 구현 클래스Set 인터페이스를 구현하는 주요 클래스는 다음과 같다:HashSet:해시 테이블을 기반으로 구현됨.빠른 검색 성능을 제공 (평균 O(1) 시간 ..
리스트자바의 리스트(List)는 컬렉션 프레임워크의 한 부분으로, 순서가 있는 요소의 집합을 저장하는 인터페이스.리스트는 중복된 요소를 허용하며, 요소의 삽입 순서가 유지됨.자바에서 리스트를 구현하는 주요 클래스는 ArrayList, LinkedList, Vector각각의 리스트 클래스는 특정한 사용 사례에 따라 장단점이 있음.1. List 인터페이스List 인터페이스는 순서가 있는 요소의 목록을 정의하며, 다음과 같은 주요 메서드를 제공함:add(E e): 리스트의 끝에 요소를 추가.add(int index, E element): 지정된 위치에 요소를 추가.get(int index): 특정 인덱스에 있는 요소를 반환.remove(int index): 특정 인덱스의 요소를 제거.set(int index,..
자바 컬렉션(Java Collection Framework)자바 컬렉션 프레임워크는 데이터를 저장하고 관리하기 위한 다양한 자료 구조를 제공하는 API임. 이를 통해 데이터의 효율적인 저장, 검색, 수정, 삭제 등을 처리할 수 있음.자바 컬렉션은 데이터를 저장할 수 있는 표준화된 클래스와 인터페이스로 구성되어 있으며, 배열과 같은 데이터 구조보다 유연하고 효율적인 데이터 관리를 가능하게 함.자바 컬렉션 프레임워크는 크게 세 가지 주요 인터페이스로 나뉨:Collection 인터페이스:List, Set, Queue 등의 하위 인터페이스가 포함.이 인터페이스는 데이터의 집합을 관리하는 메서드를 정의.예시:List: 순서가 있는 데이터의 집합(중복 허용). 예: ArrayList, LinkedList.Set: ..
다형성다형성(Polymorphism)은 객체지향 프로그래밍에서 중요한 개념 중 하나로, 동일한 인터페이스를 통해 서로 다른 데이터 타입의 객체를 처리할 수 있는 능력을 의미함.자바에서 다형성은 주로 두 가지 형태로 구현: 컴파일 타임 다형성과 런타임 다형성.1. 컴파일 타임 다형성 (Static Polymorphism)컴파일 타임 다형성은 메서드 오버로딩(Method Overloading)과 연관됨.동일한 이름을 가진 메서드가 매개변수의 유형이나 개수에 따라 다르게 동작하는 것을 의미.예시:class MathUtils { // 메서드 오버로딩 public int add(int a, int b) { return a + b; } public double add(double ..