본문 바로가기

배열

[Java] 자바 Vector 사용 방법 Vector는 ArrayList와 LinkedList와 같이 리스트를 구체화한 클래스입니다. ArrayList와 LinkedList에 대한 내용은 아래 링크에서 확인 가능합니다. 2020.11.11 - [Programming/Java] - [Java] 자바 ArrayList 사용 방법 2020.11.28 - [Programming/Java] - [Java] 자바 LinkedList 사용 방법 Vector는 컬렉션 프레임워크(Collection Framework)가 존재하기 전에 추가된 레거시 클래스 중 하나입니다. 현재는 제너릭 등을 지원할 수 있도록 재설계되어 있습니다. 내부에 배열을 가지고 있으며 순서대로 값들이 저장됩니다. Vector와 ArrayList는 거의 유사한 형태의 클래스로 크기가 가변적.. 더보기
[Java] 자바 LinkedList 사용 방법 LinkedList는 ArrayList와 함께 List를 구체화한 클래스입니다. ArrayList에 대한 내용은 아래의 링크에서 확인 가능합니다. 2020/11/11 - [Programming/Java] - [Java] 자바 ArrayList 사용 방법 [Java] 자바 ArrayList 사용 방법 ArrayList는 자바에서 기본적으로 많이 사용되는 클래스입니다. ArrayList는 자바의 List 인터페이스를 상속받은 여러 클래스 중 하나입니다. 일반 배열과 동일하게 연속된 메모리 공간을 사용하며 인 psychoria.tistory.com ArrayList는 배열을 사용해서 List를 구현한 클래스입니다. ArrayList와 다르게 LinkedList는 각각의 노드를 연결하는 방식을 사용합니다. 아래.. 더보기
[Java] 자바 ArrayList 사용 방법 ArrayList는 자바에서 기본적으로 많이 사용되는 클래스입니다. ArrayList는 자바의 List 인터페이스를 상속받은 여러 클래스 중 하나입니다. 일반 배열과 동일하게 연속된 메모리 공간을 사용하며 인덱스는 0부터 시작합니다. 배열과의 차이점은 배열이 크기가 고정인 반면 ArrayList는 크기가 가변적으로 변합니다. 내부적으로 저장이 가능한 메모리 용량(Capacity)이 있으며 현재 사용 중인 공간의 크기(Size)가 있습니다. 만약 현재 가용량(Capacity) 이상을 저장하려고 할 때 더 큰 공간의 메모리를 새롭게 할당합니다. 자바의 ArrayList를 활용하는 방법을 알아보겠습니다. 1. ArrayList 생성 자바에서 ArrayList를 사용하려면 아래 구문을 먼저 추가해야 합니다. i.. 더보기
[C++11] 배열을 편리하게 사용할 수 있는 std::array 배열은 한 번 크기가 정해지면 동적으로 변경되지 않습니다.동적으로 크기를 변경하려면 벡터 등의 STL 컨테이너를 활용하면 됩니다.배열을 STL 컨테이너 형태로 사용하는 것이 바로 std::array입니다.동적인 할당과 해제가 없어서 성능상 이점이 있는 배열을 편리한 사용을 할 수 있도록 해줍니다.std::array는 헤더를 포함한 이후에 사용이 가능합니다.기본적인 std::array의 사용 방법은 다음과 같습니다. #include #include int main() { // initialization std::array data = {0, 1, 2, 3, 4}; // get size std::cout 더보기
shared_ptr에서 배열(array) delete[]로 해제하는 방법 shared_ptr은 C++에서 제공하는 스마트 포인터입니다.메모리의 관리가 까다로운 C++에서 유용하게 사용이 가능합니다.shared_ptr은 참조 카운트(Reference Count)를 통해서 메모리 해제 시점을 결정합니다.shared_ptr은 기본적으로 사용된 메모리를 delete로 해제하게 됩니다.배열(new [])이 저장되어 있을 경우에 배열의 해제를 할 수 있는 방법은 다음과 같습니다.1. delete[]를 호출하는 함수 객체를 생성초기화를 할 때 포인터와 함께 메모리를 해제할 때 사용할 함수를 전달하는 방법입니다.shared_ptr은 생성자에 메모리 해제를 위한 deleter를 전달할 수 있습니다.메모리 할당을 위한 함수를 전달하는 것도 가능합니다.함수 객체 혹은 함수를 전달해서 shared.. 더보기