5.1.3 배열 아이템 동적 추가

배열에 동적으로 아이템을 추가할 때에는 메소드를 사용하는데, 기능에 따라 다양한 메소드가 있지만 대표적인 것으로 아래 세 가지 정도를 사용합니다.

  • append(_:)

  • insert(_:at:)

  • append(contentsOf:)

append(_:) 메소드는 입력된 값을 배열의 맨 뒤에 추가합니다. 일반적으로 배열에서 존재하지 않는 인덱스에 접근하면 오류가 발생하므로 이 메소드는 아이템 추가 전에 먼저 배열의 크기를 +1만큼 확장하여 인덱스 공간을 확보한 후, 인자값을 마지막 인덱스 위치에 추가합니다.

반면 insert(_:at:) 메소드는 아이템을 배열의 맨 뒤가 아닌 원하는 위치에 직접 추가하고 싶을 때 사용합니다. at: 뒤에 입력되는 정수값은 배열에서 아이템이 추가될 인덱스의 위치를 의미합니다. 이 인덱스에 새로운 값이 추가되면 이를 기준으로 하여 나머지 인덱스들은 하나씩 다음으로 밀려나는 결과를 가져옵니다. 쉽게 말해 끼어들기 입니다.

마지막으로 append(contentsOf:)는 append(_:) 메소드처럼 배열의 맨 마지막에 아이템을 추가하지만, 개별 아이템이 아니라 여러 개의 아이템을 배열에 한꺼번에 추가할 때 사용하는 메소드 입니다. 이를 위해 메소드의 인자값은 항상 배열이어야 합니다.

이들 메소드를 이용하여 배열 아이템을 동적으로 추가해 봅시다.

Last updated