반응형

JAVA 374

자바 열거형의 이해

자바 열거형(Enum)은 고정된 상수 집합을 나타내기 위한 특별한 데이터 유형입니다. 열거형은 클래스와 비슷하지만, 사전에 정의된 상수 값들만 가질 수 있습니다. 열거형은 주로 코드를 더 읽기 쉽고 유지보수하기 쉽게 만들기 위해 사용됩니다. 다음은 자바 열거형의 주요 특징과 이해를 돕기 위한 내용입니다. 1. 고정된 상수 집합: 열거형은 고정된 상수 값을 가집니다. 이러한 상수 값들은 자바 프로그램 내에서 변경할 수 없습니다. 2. 클래스 형태: 열거형은 클래스로 선언되며, 필요에 따라 멤버 변수, 메서드, 생성자 등을 가질 수 있습니다. 3. 인스턴스 생성 제한: 열거형의 인스턴스는 미리 정의된 상수 값에 대한 인스턴스로만 생성될 수 있습니다. 개발자가 새로운 인스턴스를 생성할 수 없습니다. 4. 열거..

JAVA/포스팅 2023.11.20

자바 열거형에 멤버 추가하기

자바 열거형(Enum)은 필요에 따라 각 상수에 추가 정보를 가질 수 있습니다. 각 상수에 대한 정보를 저장하기 위해 열거형 내에 멤버 변수와 생성자를 추가할 수 있습니다. 예를 들어, 각 열거형 상수에 해당하는 계절의 온도를 저장하는 열거형을 만들어보겠습니다. public enum Season { SPRING(15), SUMMER(30), FALL(20), WINTER(5); private int averageTemperature; Season(int averageTemperature) { this.averageTemperature = averageTemperature; } public int getAverageTemperature() { return averageTemperature; } } 위의 코..

JAVA/포스팅 2023.11.20

자바 열거형의 정의와 사용

자바 열거형(Enum)은 서로 연관된 상수들의 집합을 정의하는 특별한 데이터 유형입니다. 열거형을 사용하면 코드의 가독성과 유지보수성을 높일 수 있으며, 타입 안전성을 제공합니다. 1. 열거형 선언 자바 열거형은 enum 키워드를 사용하여 선언됩니다. 간단한 열거형의 예를 살펴보겠습니다. public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY } 위의 코드에서 Day는 열거형의 이름이며, SUNDAY, MONDAY, ..., SATURDAY는 열거형 상수입니다. 2. 열거형 상수의 값 추가 열거형 상수는 필요에 따라 값(value)을 가질 수 있습니다. 예를 들어, 각 열거형 상수에 대한 요일의 한글명을 추가할 수 ..

JAVA/포스팅 2023.11.20

자바 열거형

자바에서는 열거형(Enum)을 사용하여 일련의 상수를 나타낼 수 있습니다. 열거형은 관련된 상수들을 그룹화하고 타입 안전성을 제공하여 코드의 가독성과 유지보수성을 높이는 데 도움을 줍니다. 다음은 자바 열거형에 대한 자세한 내용입니다. 1. 열거형 선언 자바에서 열거형은 enum 키워드를 사용하여 선언됩니다. 예를 들어, 간단한 컬러 열거형을 만들어 보겠습니다. public enum Color { RED, GREEN, BLUE; } 위의 코드에서 Color는 열거형의 이름이며, RED, GREEN, BLUE는 열거형 상수입니다. 각 상수는 열거형 내에서 유일하게 식별됩니다. 2. 열거형 상수와 메서드 열거형은 일반적인 클래스처럼 상수 외에도 필드, 메서드, 생성자 등을 가질 수 있습니다. 예를 들어, 열..

JAVA/포스팅 2023.11.19

자바 제네릭 타입의 제거

자바에서는 제네릭 타입은 컴파일 시에만 유효하며, 런타임에는 제네릭 타입의 정보가 소거됩니다. 이러한 과정을 "타입 소거(Type Erasure)"라고 합니다. 타입 소거는 제네릭의 특성 상 타입을 런타임에 알 수 없기 때문에 발생합니다. 타입 소거에 따라 몇 가지 중요한 사항이 있습니다. 1. 제네릭 타입의 실체화 불가능 컴파일 시에 타입 정보가 소거되므로, 런타임에는 제네릭 타입에 대한 정보가 없어집니다. 따라서, 제네릭 타입을 실체화하여 객체를 생성하는 것은 불가능합니다. 2. 경고 및 형변환 컴파일러는 타입 소거로 인해 제네릭 코드에서 발생하는 경고를 경고합니다. 또한, 컴파일러는 필요한 경우 형변환 코드를 삽입하여 타입 안전성을 유지합니다. 3. 와일드 카드와 상속 제네릭 클래스에서 와일드 카드..

JAVA/포스팅 2023.11.19

자바 제네릭 타입의 형변환

자바에서 제네릭 타입은 컴파일 시에 타입 체크를 수행하므로, 안전한 형변환을 지원합니다. 제네릭에서 형변환은 주로 제네릭 클래스나 메서드에서 사용되는데, 이를 제네릭 타입의 형변환이라고 합니다. 1. 제네릭 클래스의 형변환 일반적으로, 제네릭 클래스에서는 형변환 없이 안전하게 사용할 수 있습니다. 예를 들어 public class Box { private T value; public Box(T value) { this.value = value; } public T getValue() { return value; } } // 사용 예시 Box stringBox = new Box("Hello"); String str = stringBox.getValue(); // 형변환 필요 없음 2. 제네릭 메서드의 형변..

JAVA/포스팅 2023.11.19

자바 제네릭 메서드

자바 제네릭 메서드는 메서드에 사용되는 타입을 일반화하는 기술을 제공합니다. 제네릭 메서드는 메서드의 시그니처에서 하나 이상의 타입 매개변수를 포함하고, 이러한 매개변수는 메서드의 리턴 타입이나 매개변수의 타입으로 사용될 수 있습니다. 제네릭 메서드를 정의하는 일반적인 구문은 다음과 같습니다. public ReturnType methodName(T parameter1, T parameter2, ...) { // 메서드 구현 } 여기서 는 타입 매개변수를 나타내며, 이를 사용하여 메서드의 매개변수의 타입이나 리턴 타입을 지정합니다. 아래는 제네릭 메서드의 예제들입니다. 1. 단일 타입 매개변수 사용 public void printElement(T element) { System.out.println(ele..

JAVA/포스팅 2023.11.19

자바 제네릭스 와일드 카드

자바 제네릭스에서 와일드 카드(wildcard)는 불특정한 타입을 나타내기 위한 기호입니다. 주로 제네릭스에서 유연성을 확보하고자 할 때 사용됩니다. 와일드 카드는 크게 3가지 형태로 나눌 수 있습니다: ?, ? extends T, ? super T. 1. ? (Unbounded Wildcard) 어떤 타입이든 허용합니다. public static void processElements(List elements) { for (Object element : elements) { System.out.println(element); } } 위의 메서드는 어떤 타입의 리스트도 받을 수 있습니다. 2. ? extends T (Upper Bounded Wildcard) 특정 타입 T나 T의 하위 타입만을 허용합니다...

JAVA/포스팅 2023.11.19

자바 제네릭 제한된 클래스

자바에서 제네릭스를 사용할 때, 특정 타입으로 제한된 클래스를 정의할 수 있습니다. 이는 특정 타입의 하위 타입(subtype)만을 허용하도록 하는 제한(바운드)을 의미합니다. 제한된 제네릭 클래스는 다음과 같이 정의할 수 있습니다. // T는 Comparable 인터페이스를 구현한 클래스만을 허용하는 제네릭 클래스 class ComparableBox { private T value; public ComparableBox(T value) { this.value = value; } public T getValue() { return value; } public boolean isGreaterThan(ComparableBox otherBox) { return value.compareTo(otherBox.ge..

JAVA/포스팅 2023.11.19

자바 제네릭 클래스의 객체 생성과 사용

제네릭 클래스의 객체를 생성하고 사용하는 방법은 일반 클래스와 유사하지만, 객체를 생성할 때 타입 파라미터를 구체적인 타입으로 지정해주어야 합니다. 예를 들어, 앞서 언급한 GenericList 클래스를 기반으로 제네릭 클래스 객체를 생성하는 예제를 살펴보겠습니다. public class GenericListExample { public static void main(String[] args) { // String 타입의 GenericList 객체 생성 GenericList stringList = new GenericList(); stringList.addElement("Apple"); stringList.addElement("Banana"); stringList.addElement("Orange"); ..

JAVA/포스팅 2023.11.19

자바 제네릭 클래스의 선언

제네릭스(Generics) 클래스는 다양한 타입의 객체를 다룰 수 있도록 일반화된 클래스입니다. 제네릭 클래스를 선언할 때에는 클래스 이름 뒤에 와 같이 타입 파라미터를 추가하여 선언합니다. 여기서 T는 타입을 나타내며, 실제 사용될 때 구체적인 타입으로 대체됩니다. 제네릭 클래스의 선언 형식은 다음과 같습니다 public class ClassName { // 클래스 내용 } 여기서 T는 타입 파라미터이며, 클래스 내부에서 필드, 메서드, 생성자 등에서 이 타입을 사용할 수 있습니다. 예를 들어, 제네릭 클래스를 사용하여 리스트를 구현하는 간단한 예제를 살펴보겠습니다. public class GenericList { private List elements; public GenericList() { thi..

JAVA/포스팅 2023.11.19

자바 제네릭스(Generics)

자바에서의 제네릭스(Generics)는 타입 안전성을 제공하기 위한 프로그래밍 기법입니다. 제네릭스를 사용하면 컴파일러가 코드에 대한 강력한 타입 체크를 수행하게 되어, 실행 중에 발생할 수 있는 타입 관련 오류를 미리 방지할 수 있습니다. 이를 통해 코드의 안정성과 가독성을 향상시킬 수 있습니다. 제네릭 클래스와 인터페이스 1. 제네릭 클래스 (Generic Class) 클래스를 선언할 때, 타입 파라미터를 사용하여 클래스 내부에서 사용될 타입을 지정합니다. 예를 들어, Box는 어떤 타입의 객체도 담을 수 있는 상자를 나타냅니다. public class Box { private T value; public void setValue(T value) { this.value = value; } public..

JAVA/포스팅 2023.11.19

자바 컬렉션 프레임워크 Collections

java.util.Collections 클래스는 자바 컬렉션 프레임워크에 대한 유틸리티 메서드를 제공하는 클래스입니다. 이 클래스는 주로 컬렉션에 대한 정렬, 검색, 동기화 등의 연산을 수행하는 데 사용됩니다. 1. Collections 클래스의 주요 메서드 1. 1 정렬 (Sorting) - sort(List list): 리스트를 오름차순으로 정렬합니다. 리스트의 요소는 Comparable 인터페이스를 구현해야 합니다. - sort(List list, Comparator list): 리스트의 요소를 무작위로 섞습니다. 1.3 최대 및 최소 (Max and Min) - max(Collection list): 리스트의 요소를 뒤집습니다. - rotate(List list, int distance): 리스트..

JAVA/포스팅 2023.11.19

자바 컬렉션 프레임워크 Properties

Properties 클래스는 Java 컬렉션 프레임워크의 일부로, 특히 키와 값이 문자열로 구성된 속성(property)을 관리하기 위한 클래스입니다. 주로 설정 파일이나 속성 파일에서 데이터를 읽고 쓸 때 사용됩니다. 1. Properties 클래스의 주요 특징 - Hashtable을 상속받음: Properties는 Hashtable을 확장한 클래스로, 키와 값의 쌍을 저장하기 위해 해시 테이블을 사용합니다. - 문자열 키와 값: Properties는 키와 값이 모두 문자열로 제한됩니다. 따라서 주로 설정 정보를 문자열 형태로 다룰 때 활용됩니다. 주로 설정 파일에서 사용: 일반적으로 시스템의 설정 정보를 저장하고 읽어올 때 사용됩니다. 확장자가 .properties인 파일에 저장되며, load 및 s..

JAVA/포스팅 2023.11.19

자바 컬렉션 프레임워크 TreeMap

TreeMap은 Java 컬렉션 프레임워크에서 제공하는 클래스 중 하나로, 트리 구조를 기반으로 한 맵(Map)을 구현한 클래스입니다. 이 클래스는 키에 대한 정렬을 유지하며, 이진 검색 트리(binary search tree)로 내부적으로 구현되어 있습니다. 1. TreeMap의 특징 - 정렬된 키: TreeMap은 키를 기반으로 정렬된 순서를 유지합니다. 따라서 키의 정렬이 필요한 경우에 유용하게 사용할 수 있습니다. - 동기화 지원 안 함: TreeMap은 동기화를 지원하지 않습니다. 따라서 멀티스레드 환경에서 사용할 경우 추가적인 동기화가 필요합니다. - Null 불허용: TreeMap은 키에 null을 허용하지 않습니다. 값은 null이 될 수 있습니다. - 검색 및 범위 질의: TreeMap은..

JAVA/포스팅 2023.11.19

자바 컬렉션 프레임워크 Hashtable

Hashtable은 Java 컬렉션 프레임워크에서 제공하는 클래스 중 하나로, 해시 테이블을 사용하여 데이터를 저장하는 맵(Map)을 구현한 클래스입니다. Hashtable은 동기화된 메서드로 구성되어 있어, 멀티스레드 환경에서 안전하게 사용할 수 있습니다. 1. Hashtable의 특징 - 키-값 쌍 저장: Hashtable은 키와 값의 쌍으로 데이터를 저장합니다. 각 키는 고유해야 하며, 각 키에 대응하는 값은 중복될 수 없습니다. - 동기화(Synchronized): Hashtable은 동기화된 메서드로 구성되어 있어, 멀티스레드 환경에서 안전하게 사용할 수 있습니다. 하지만 이로 인해 성능이 일부 저하될 수 있습니다. - 순서 없음: Hashtable은 요소의 순서를 보장하지 않습니다. 즉, 저장..

JAVA/포스팅 2023.11.18

자바 컬렉션 프레임워크 HashMap

HashMap은 Java 컬렉션 프레임워크에서 제공하는 클래스 중 하나로, 키와 값으로 이루어진 데이터를 저장하는 해시 테이블 기반의 맵(Map)을 구현한 클래스입니다. HashMap은 순서를 보장하지 않으며, 중복된 키는 허용하지 않습니다. 1. HashMap의 특징 - 키-값 쌍 저장: HashMap은 키와 값의 쌍으로 데이터를 저장합니다. 각 키는 고유해야 하며, 각 키에 대응하는 값은 중복될 수 있습니다. - 순서 없음: HashMap은 요소의 순서를 보장하지 않습니다. 즉, 저장된 순서와 검색된 순서가 일치하지 않습니다. - Null 허용: 하나의 키는 하나의 null 값을 가질 수 있으며, 값은 여러 개의 null 값을 가질 수 있습니다. 2. HashMap의 주요 메서드 - put(K key..

JAVA/포스팅 2023.11.18

자바 컬렉션 프레임워크 TreeSet

TreeSet은 Java 컬렉션 프레임워크에서 제공하는 클래스 중 하나로, 이진 검색 트리의 형태로 데이터를 저장하는 정렬된 Set을 구현한 클래스입니다. TreeSet은 중복을 허용하지 않으며, 모든 요소는 정렬된 순서로 저장됩니다. 1. TreeSet의 특징 - 중복 허용 안 함: TreeSet은 중복된 요소를 허용하지 않습니다. 이미 존재하는 요소를 추가하려고 하면 아무런 작업도 수행하지 않습니다. - 정렬된 순서로 저장: TreeSet은 내부적으로 이진 검색 트리(Binary Search Tree)를 사용하여 데이터를 저장하므로, 모든 요소는 정렬된 순서로 저장됩니다. - Null 요소 미허용: TreeSet은 null 값을 허용하지 않습니다. 2. TreeSet의 주요 메서드 - add(E e)..

JAVA/포스팅 2023.11.18

자바 컬렉션 프레임워크 HashSet

HashSet은 Java 컬렉션 프레임워크에서 제공하는 클래스 중 하나로, 중복을 허용하지 않고 순서를 보장하지 않는 집합(Set)을 구현한 클래스입니다. 이 클래스는 해시 테이블을 기반으로 합니다. 1. HashSet의 특징 - 중복 허용 안 함: HashSet은 중복된 요소를 허용하지 않습니다. 이미 존재하는 요소를 추가하려고 하면 아무런 작업도 수행하지 않습니다. - 순서 보장 안 함: HashSet은 요소의 순서를 보장하지 않습니다. 즉, 데이터를 저장하는 순서와 데이터를 꺼내는 순서가 일치하지 않습니다. - Null 요소 허용: HashSet은 null 값을 허용합니다. 하나의 null 값만 저장할 수 있습니다. 2. HashSet의 주요 메서드 - add(E e): 요소를 세트에 추가합니다. ..

JAVA/포스팅 2023.11.18

자바 컬렉션 프레임워크 Comparable

Comparable 인터페이스는 Java에서 제공하는 컬렉션 프레임워크에서 객체를 정렬할 때 사용되는 인터페이스입니다. 이 인터페이스를 구현하는 클래스는 정렬 가능한 클래스가 됩니다. Comparable 인터페이스의 주요 메서드 public interface Comparable { int compareTo(T o); } compareTo 메서드는 다음 규칙을 따릅니다. - 이 객체가 다른 객체보다 작으면 음수를 반환. - 이 객체가 다른 객체와 같으면 0을 반환. - 이 객체가 다른 객체보다 크면 양수를 반환. Comparable 사용 예제 import java.util.ArrayList; import java.util.Collections; import java.util.List; class Stude..

JAVA/포스팅 2023.11.18

자바 컬렉션 프레임워크 Comparator

Comparator는 Java 컬렉션 프레임워크에서 사용되는 비교자 인터페이스입니다. 이 인터페이스를 구현하여 객체 간의 비교 방법을 정의할 수 있습니다. Comparator는 주로 정렬이나 검색과 같은 작업에서 사용됩니다. Comparator 인터페이스의 주요 메서드 1. compare(T o1, T o2) 두 객체를 비교합니다. 이 메서드는 두 객체의 순서를 결정합니다. public interface Comparator { int compare(T o1, T o2); } compare 메서드는 다음과 같은 규칙을 따릅니다. - o1이 o2보다 작으면 음수를 반환. - o1이 o2와 같으면 0을 반환. - o1이 o2보다 크면 양수를 반환. 2. equals(Object obj) Comparator 객..

JAVA/포스팅 2023.11.18

자바 컬렉션 프레임워크 Arrays

java.util.Arrays 클래스는 배열과 관련된 유용한 메서드들을 제공하는 유틸리티 클래스입니다. 이 클래스는 배열을 다루는데 도움이 되는 정적 메서드들을 제공합니다. 자주 사용되는 Arrays 클래스의 메서드들 1. toString(arr) 및 deepToString(arr) 배열의 내용을 문자열로 반환합니다. deepToString은 다차원 배열의 경우 내부 배열까지 문자열로 변환합니다. int[] intArray = {1, 2, 3, 4, 5}; System.out.println(Arrays.toString(intArray)); int[][] multiIntArray = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; System.out.println(Arrays.deepToSt..

JAVA/포스팅 2023.11.18

자바 컬렉션 프레임워크 Enumeration

Enumeration은 자바에서 옛날부터 사용되던 인터페이스로, 컬렉션 프레임워크가 나오기 전에 사용되었습니다. 현재는 Iterator 인터페이스로 대체되어 더 많은 기능을 제공하고 있습니다. 그러나 여전히 일부 레거시 코드나 특정 상황에서 사용될 수 있습니다. 주요 메서드 Enumeration 인터페이스는 다음과 같은 메서드를 정의하고 있습니다. - boolean hasMoreElements(): 다음 요소가 존재하는지 확인하고, 존재하면 true를 반환합니다. - E nextElement(): 다음 요소를 반환합니다. 만약 더 이상 다음 요소가 없으면 NoSuchElementException을 발생시킵니다. 사용 예제 import java.util.Enumeration; import java.util..

JAVA/포스팅 2023.11.18

자바 컬렉션 프레임워크 ListIterator

ListIterator는 Iterator의 확장 버전으로, 양방향으로 순회할 수 있는 기능을 제공합니다. ListIterator는 주로 List 인터페이스를 구현한 컬렉션 (예: ArrayList, LinkedList)에서 사용됩니다. 주요 메서드 ListIterator 인터페이스는 Iterator와 비슷한 메서드를 가지며, 추가적으로 양방향 순회 및 요소의 추가, 수정, 삭제를 지원하는 메서드들이 있습니다. - boolean hasNext(): 다음 요소가 존재하는지 확인하고, 존재하면 true를 반환합니다. - E next(): 다음 요소를 반환하고 커서를 다음 위치로 이동합니다. 만약 더 이상 다음 요소가 없으면 - NoSuchElementException을 발생시킵니다. - boolean hasP..

JAVA/포스팅 2023.11.18

자바 컬렉션 프레임워크 Iterator

Iterator는 자바 컬렉션 프레임워크에서 컬렉션 요소를 순회하는 데 사용되는 인터페이스입니다. Iterator를 사용하면 컬렉션의 내용에 접근하고 반복(iteration)할 수 있습니다. 이를 통해 컬렉션의 요소를 순차적으로 접근하고 조작할 수 있습니다. 주요 메서드 Iterator 인터페이스는 다음과 같은 주요 메서드를 정의하고 있습니다 - boolean hasNext(): 다음 요소가 존재하는지 여부를 확인하고, 존재하면 true를 반환합니다. - E next(): 다음 요소를 반환하고 커서를 다음 위치로 이동합니다. 만약 더 이상 다음 요소가 없으면 NoSuchElementException을 발생시킵니다. - void remove(): 최근에 반환된 요소를 제거합니다. 일부 컬렉션에서는 이 메서..

JAVA/포스팅 2023.11.18

자바 컬렉션 프레임워크 Queue

Queue 인터페이스는 자바 컬렉션 프레임워크에서 큐(큐는 선입선출, FIFO 구조를 가진 자료구조)를 구현하기 위한 인터페이스입니다. Queue는 Collection 인터페이스를 상속하며, 큐의 기본 동작과 관련된 메서드를 정의하고 있습니다. 주요 메서드 및 특징 1. 요소 추가 및 제거 - add(e) 또는 offer(e): 큐에 요소를 추가합니다. - remove() 또는 poll(): 큐에서 요소를 제거하고 반환합니다. 2. 요소 접근 element() 또는 peek(): 큐의 맨 앞에 있는 요소를 반환하지만 제거하지 않습니다. 3. 기타 메서드 - size(): 큐에 포함된 요소의 개수를 반환합니다. - isEmpty(): 큐가 비어있는지 여부를 확인합니다. - clear(): 큐의 모든 요소를..

JAVA/포스팅 2023.11.18

자바 컬렉션 프레임워크 Stack

Stack 클래스는 자바 컬렉션 프레임워크에서 제공하는 후입선출(LIFO, Last In First Out) 구조의 스택을 구현한 클래스입니다. 여기서는 Stack 클래스의 주요 특징과 사용법에 대해 설명하겠습니다. 1. 특징 - 후입선출 (LIFO): 마지막으로 추가된 요소가 가장 먼저 꺼내지는 구조를 가지고 있습니다. - 상속: Stack 클래스는 Vector 클래스를 상속받아 구현되었기 때문에, Vector 클래스의 모든 메서드를 상속받습니다. (주의: Vector는 다소 구식의 클래스이므로 보통 ArrayList를 더 권장합니다.) 2. 사용법 2.1. 생성과 초기화 // 기본 생성자로 Stack 생성 Stack stack = new Stack(); 2.2. 요소 추가 및 제거 // 요소 추가 s..

JAVA/포스팅 2023.11.18

자바 컬렉션 프레임워크 LinkedList

LinkedList는 자바 컬렉션 프레임워크에서 제공하는 양방향 연결 리스트(Double Linked List) 구현체입니다. 다음은 LinkedList의 주요 특징과 사용법에 대한 설명입니다. 1. 특징 - 양방향 연결 리스트: 각 요소가 이전 요소와 다음 요소의 참조를 가지고 있는 연결 리스트입니다. - 빠른 삽입과 삭제: 요소의 추가와 삭제가 빠르게 이루어집니다. 특히 중간에 요소를 삽입하거나 삭제하는 경우 ArrayList보다 유리할 수 있습니다. - 인덱스로 직접 접근하는 것은 느림: ArrayList와 달리 인덱스로 바로 접근하는 데는 선형 시간이 소요됩니다. - 확장이 자유로움: 크기를 미리 지정할 필요가 없고, 요소를 계속해서 추가할 수 있습니다. 2. 사용법 2.1. 생성과 초기화 // ..

JAVA/포스팅 2023.11.18

자바 컬렉션 프레임워크 ArrayList

ArrayList는 자바 컬렉션 프레임워크에서 제공하는 동적 배열 기반의 리스트 구현체입니다. 다음은 ArrayList의 주요 특징과 사용법에 대한 자세한 설명입니다. 1. 특징 - 크기 조절이 가능한 배열: ArrayList는 내부적으로 배열을 사용하며, 크기를 동적으로 조절할 수 있습니다. - 인덱스로 접근: 요소에 대한 빠른 접근이 가능하며, 인덱스를 사용하여 요소를 읽거나 쓸 수 있습니다. - 가변 크기: 배열의 크기를 동적으로 조절할 수 있어, 요소를 추가하거나 제거해도 크기에 제한이 없습니다. - Null 허용: ArrayList는 null 값을 허용합니다. - 순서 유지: 요소가 추가된 순서를 유지하며 저장됩니다. 2. 사용법 2.1. 생성과 초기화 // 기본 생성자로 ArrayList 생성..

JAVA/포스팅 2023.11.18

자바 컬렉션 프레임워크

자바 컬렉션 프레임워크는 데이터를 저장, 관리, 검색, 조작하기 위한 다양한 자료 구조와 알고리즘을 제공하는 API입니다. 이 프레임워크는 유연성, 확장성, 안정성을 제공하여 다양한 종류의 애플리케이션에서 사용됩니다. 주요 컬렉션 인터페이스와 구현체, 그리고 사용법에 대한 개요를 제공하겠습니다. 주요 컬렉션 인터페이스 1. Collection 인터페이스 java.util.Collection 인터페이스는 모든 컬렉션 클래스의 상위 인터페이스입니다. 주요 메서드 boolean add(E e): 요소를 컬렉션에 추가합니다. boolean remove(Object o): 지정된 요소를 컬렉션에서 제거합니다. boolean contains(Object o): 컬렉션에 지정된 요소가 포함되어 있는지 여부를 반환합니..

JAVA/포스팅 2023.11.18