배열이란? 배열(Array): 동일한 데이터 유형의 요소들을 순서대로 저장하는데 사용되는 선형 자료구조. 각 요소는 배열내에서 고유한 인덱스를 가지며, 이 인덱스를 사용하여 해당 요소에 접근할 수 있다. 배열에 대한 특징은 다음과 같다. 인덱스 배열의 각 요소는 고유한 인덱스를 가진다. 인덱스는 0부터 시작하여 배열의 크기보다 1 작은 값까지의 정수이다. 인덱스를 통해 특정 요소에 빠르게 접근할 수 있다. 고정된 크기 배열은 일반적으로 고정된 크기를 가지며, 한 번 생성된 배열은 크기를 변경할 수 없다. 배열의 크기는 초기에 정의되며, 이 크기에 맞게 메모리가 할당된다. 연속적인 메모리 할당 배열은 연속적인 메모리 공간에 요소를 저장한다. 이는 각 요소의 크기가 동일하다는 가정 하에 가능하며, 이는 빠른..
Collection List List: 여러 항목을 순서대로 저장하는 자료 구조. 가변적인 크기를 가진 배열이라 할 수 있다. List의 특징으로는 다음과 같다. 순서가 존재한다. List의 각 요소들은 특정한 순서를 가지고 있다. 이는 요소들이 추가된 순서를 유지한다는 의미이다. 인덱스로 관리한다. 각 항목은 0부터 시작하는 인덱스를 가지고 있어 해당 인덱스를 사용하여 요소에 접근할 수 있다. 동적으로 크기가 변경된다. List는 일반적으로 크기를 동적으로 조정할 수 있는 가변적인 자료 구조이다. public interface List extends Collection { // 요소 추가 boolean add(E element); // 인덱스에 요소 추가 void add(int index, E elem..
자료구조 란? 자료구조: 데이터를 효율적으로 구조화하고 저장하는 방법을 다루는 구조. 데이터를 적절한 형태로 조직화하여 효과적으로 처리할 수 있도록 돕는 구조와 알고리즘의 집합을 의미한다. 프로그램이 데이터를 적절하게 저장하고 검색하며, 데이터 간의 관계를 관리하는 데에 중요한 역할을 한다. 자료 구조에는 다양한 유형이 있으며, 선택한 자료구조에 따라 프로그램의 성능이 크게 영향을 받을 수 있다. 몇 가지 흔히 사용되는 자료구조에는 배열, 연결 리스트, 스택, 큐, 트리, 그래프 등이 포함된다. 이러한 자료구조들은 각각 특정한 작업이나 문제 해결에 효과적인 도구로 사용될 수 있다. C++의 STL과 같이 자바에서도 데이터를 저장하는 자료구조들을 한 곳에 모아 편리하게 관리하고 사용하도록 제공한다. 이를 ..