울음참고 개발공부
article thumbnail
Iterator
2.Container 2023. 7. 19. 10:05

Iterator 란 Iterator " Java 에서 Iterator 는 리스트나 맵 등의 컬렉션 요소를 반복적으로 접근하고 삭제하기 위한 인터페이스이다. " Iterator는 컬렉션의 내부 구조를 알 필요 없이 간편하게 요소에 접근할 수 있도록 도와줍니다. Iterator는 java.util 패키지에 속한 인터페이스로, 다음과 같은 세 가지 주요 메서드를 제공합니다: E next 'hasNext()' 메서드로 요소의 존재를 확인한 뒤에 호출 요소가 존재하지 않을 경우 'NoSuchElementException' 예외 발생 void remove() 현재 반복 중인 요소를 삭제 이 메서드를 호출하기 전에 'next()' 메서드로 요소를 가져와야함 remove() 메서드는 반복 중에 한번만 호출 할 수 있음..

Queue에서, poll()과 remove()의 차이
2.Container 2023. 7. 19. 09:29

Queue에서, poll()과 remove()의 차이는 무엇인가요? Java에서 Queue 인터페이스는 poll()과 remove()라는 두 가지 메서드를 제공합니다. 이 두 메서드는 Queue에서 요소를 제거하는 데 사용됩니다. 그러나 poll()과 remove() 사이에는 몇 가지 차이점이 있습니다. 요소가 없을 때 - Queue 가 비어 있는 경우 poll() : null 반환 remove() : NoSuchElementException 을 throw 요소 제거 poll() 과 remove() 모두 Queue의 맨 앞 요소를 제거하고 반환하며 비어있을 경우 각각의 경우를 반환함 요소 탐색 poll() 과 remove() 모두 Queue에서 요소를 제거하면서 해당 요소를 반환함 poll() vs re..

ArrayList 와 Vector 의 차이점 / Array와 ArrayList의 차이점
2.Container 2023. 7. 18. 09:48

ArrayList와 Vector의 차이점 ArrayList와 Vector는 둘 다 Java에서 제공하는 동적 배열 구현체입니다. 그러나 몇 가지 중요한 차이점이 있습니다. 1. 동기화(Synchronization) 지원 여부 Vector 동기된 메서드로 구현되어 멀티스레드 환경에서 안전하게 사용할 수 있음 여러 스레드가 동시에 접근하여 수정할 때 스레드 안정성 보장 ArrayList 동기화를 지원하지않기 때문에 Vector보다 더 빠름 단일 스레드 환경이거나 개발자가 명시적으로 동기화를 처리해야하는 경우에 사용 2. 성능 ArrayList 는 동기화를 지원하지 않기 때문에 Vector보다 더 빠름 작업량이 많고 복잡한 멀티스레드 환경이 아니라면 ArrayList가 성능 면에서 더 유리함 3. 용량 증가 ..

ArrayList, LinkedList 차이점 / Array -> List 로 전환하려면?
2.Container 2023. 7. 14. 09:55

ArrayList와 LinkedList의 차이점 1. 내부 데이터 구조 ArrayList 내부적으로 배열(Array)을 사용하여 요소를 지정 배열의 크기를 동적으로 조정할 수 있으며, 인덱스를 기반으로 빠른 임의 접근이 가능함 LinkedList 내부적으로 연결 리스트를 사용하여 요소를 저장 각 요소는 자신의 데이터와 다음 요소를 가리키는 링크로 구성 임의 접근에는 비효율적이지만, 요소의 삽입과 삭제가 빠르게 이루어짐 2. 데이터 접근 ArrayList 인덱스를 사용하여 요소에 접근할 수 있으므로 임의 접근이 빠름 인덱스 기반의조회 및 변경이 빠르게 이루어짐 LinkedList 연결 리스트의 특성상 요소를 순차적으로 탐색해야 하므로, 임의 접근이 느림 요소의 삽입과 삭제는 포인터 조작만으로 이루어지므로 ..

HashMap vs Hashtable / HashMap vs TreeMap / HashSet
2.Container 2023. 7. 13. 09:55

HashMap과 Hashtable의 차이 HashMap 과 Hashtable 모두 자바에서 사용되는 해시 맵(Hash Map)자료 구조이다. 기능적으로 유사하지만 어떤 차이가 있는지 살펴보자 1. 동기화(synchronization) Hashtable 동기화된 메소드를 통해 스레드 안전(thread-safe)을 제공 여러 스레드가 동시에 Hashtable에 접근하더라도 안전하게 사용할 수 있음 HashMap 동기화를 제공하지 않음 여러 스레드가 동시에 HashMap에 접근할 경우 외부에서 동기화를 수행해야 함 2. null 허용 Hashtable 키와 값으로 null 을 허용하지 않음 null 값을 가진 키 또는 값을 저장하려면 NullPointException 발생 HashMap null 을 값이나 키..

article thumbnail
Collection과 Collections의 차이는? / List, Set, Map의 차이점
2.Container 2023. 7. 12. 09:49

차이점 Collection은 인터페이스로 컬렉션의 공통 메서드를 정의하고, Collections는 유틸리티 클래스로 컬렉션을 조작하고 다양한 작업을 수행하는 메서드를 제공 Collection Java 컬렉션 프레임워크의 인터페이스 java.util 패키지에 속해 있으며, 다양한 컬렉션들의 상위 인터페이스 객체들의 그룹을 저장하고, 조작하는 데 사용되는 일반적인 동작과 메서드 정의 * Collection 인터페이스는 List, Set, Queue 등의 서브인터페이스를 상속받고 있음 Collection 인터페이스를 구현하는 클래스들은 객체들을 모아놓은 컬렉션을 표현하며, 각각의 클래스에 따라 저장 방식과 동작이 다를 수 있음 Collections Java 컬렉션 프레임워크에서 제공하는 유틸리티 클래스 jav..

자바 컨테이너란 ?
2.Container 2023. 7. 12. 09:24

Java 애플리케이션을 실행하기 위한 환경을 제공하는 소프트웨어 Java 애플리케이션을 실행하고 관리하는 역할을 담당하며, 애플리케이션의 생명주기를 제어하고 필요한 서비스 제공 Java 컨테이너는 대표적으로 Java EE(Enterprise Edition)및 Jakarta EE 의 스펙에 정의된 서버 컨테이너 웹 애플리케이션, 서비스, 마이크로서비스 등의 Java 애플리케이션을 실행할 수 있는 환경 제공 주요 기능 1. 생명 주기 관리 애플리케이션의 시작, 종료, 재시작 등의 생명주기 관리 애플리케이션의 초기화, 리소스 할당, 스레드 관리 등을 처리 2. 컴포넌트 관리 애플리케이션의 컴포넌트(서블릿 등)를 관리하고 제공 컴포넌트의 인스턴스화, 의존성 주입, 라이프사이클 관리 등을 담당 3. 리소스 관리 ..