본문 바로가기

Java8

JAVA - 컬렉션 List 자바의 List 인터페이스는 순서가 있는 요소의 컬렉션을 정의합니다. List 인터페이스를 구현하는 클래스들은 요소의 저장, 접근, 삭제를 다양한 방식으로 지원합니다. 이번 글에서는 List 인터페이스를 이용하여 구현한 주요 클래스인 ArrayList, LinkedList, Vector, Statck의 작동 방식, 장단점을 예시를 통해 살펴보겠습니다. ArrayList설명 : ArrayList는 내부적으로 배열을 사용하여 요소를 저장합니다. 크기가 동적으로 조절되는 배열을 사용하므로, 요소를 추가하거나 제거할 때마다 배열의 크기가 자동으로 조정됩니다. 장점 :빠른 요소 접근 : 인덱스를 사용하여 요소에 접근하기 때문에 접근 속도가 빠릅니다.동적 크기 조절 : 필요에 따라 배열의 크기가 자동으로 조정됩니다.. 2024. 6. 21.
JAVA - 컬렉션 종류 컬렉션(Collection) 이란?컬렉션(Collection)이란 여러 개의 데이터를 저장하고 관리하는 객체를 말합니다. 자바의 컬렉션 프레임워크는 이러한 데이터를 다루기 위한 표준화된 API를 제공합니다. 이를 통해 다양한 데이터 구조와 알고리즘을 손쉽게 구현할 수 있습니다. 자바의 컬렉션 프레임워크는 주로 java.util 패키지에 포함되어 있습니다.컬렉션의 주요 인터페이스List 정의 : 순서가 있는 요소의 컬렉션으로, 중복을 허용한다.주요 구현 클래스 : ArrayList, LinkedList, Vector, Stack특징 : 인덱스를 사용하여 요소에 접근할 수 있으며, 삽입 순서가 유지된다.Set정의 : 순서가 없고 중복을 허용하지 않은 요소의 컬렉션주요 구현 클래스 : HashSet, Link.. 2024. 6. 21.
JAVA - 배열(Array) 와 컬렉션 (Collection)의 차이점 배열 (Array)고정된 크기 : 배열은 생성 시 크기가 고정되며, 이후에는 크기를 변경할 수 없다.동일한 타입 : 배열은 동일한 타입의 요소만 저장할 수 있다.인덱스 접근 : 배열 요소는 인덱스를 통해 직접 접근할 수 있다.저수준 데이터 구조 : 배열은 컬렉션보다 더 저수준의 데이터 구조로, 메모리 효율성과 빠른 접근 속도를 제공한다.int[] numbers = new int[5];numbers[0] = 10;numbers[1] = 20;String[] fruits = {"apple", "banana", "cherry"};System.out.println(fruits[1]); // 출력: banana 컬렉션(Collection)가변 크기 : 컬렉션은 동적으로 크기를 조절할 수 있다.다양한 데이터 구조 .. 2024. 6. 21.
JAVA - I/O 와 NIO 차이 기본 파일 I/O ( java.io 패키지) 1. 스트림 기반 I/Ojava.io 는 스트림을 사용하여 데이터를 읽고 쓴다. 스트림은 연속된 데이터의 흐름을 처리하며, 바이트 스트림과 문자 스트림으로 나뉜다.바이트 스트림 : InputStream, OutputStream 및 그 하위 클래스( FileInputStream, FileOutputStream 등)문자 스트림 : Reader, Writer 및 그 하위 클래스( FileReader, FileWriter 등)2. 블로킹 I/Ojava.io의 I/O 작업은 블로킹 모드로 작동한다. 이는 I/O 작업이 완료될 때까지 스레드가 블로킹되는 것을 의미한다. 예를 들어, 파일을 읽는 동안 스레드가 해당 작업이 완료될 때까지 동작을 멈추는것을 말한다.3. 상대적.. 2024. 6. 21.