벡터는 동적 배열로, 연속된 메모리 공간에 저장되는 동일한 타입의 요소들을 가집니다.
벡터는 크기를 자동으로 조절할 수 있으며, 요소에 빠르게 접근할 수 있는 장점이 있습니다.
벡터를 생성하려면 다음과 같은 방법을 사용할 수 있습니다.
// 빈 벡터 생성
let mut vec1: Vec<i32> = Vec::new();
// 초기 값이 있는 벡터 생성
let vec2 = vec![1, 2, 3, 4, 5];
벡터 요소에 접근하거나 수정하려면 인덱스를 사용합니다.
// 벡터에서 인덱스를 사용해 요소에 접근하기
let first_element = vec2[0]; // 첫 번째 요소
// 벡터에서 인덱스를 사용해 요소를 수정하기
vec1.push(10); // 벡터 끝에 10 추가
vec1[0] = 20; // 첫 번째 요소를 20으로 변경
벡터의 요소를 반복하려면 for
루프를 사용합니다.
for element in vec2.iter() {
println!("요소: {}", element);
}
벡터의 일부분만 참조하려면 슬라이스를 사용합니다.
let slice = &vec2[1..3]; // 인덱스 1부터 2까지의 슬라이스 생성
벡터의 크기를 조절하거나 용량을 관리하려면 다음과 같은 메서드를 사용합니다.
vec1.reserve(10); // 최소한 10개 요소를 저장할 수 있는 공간을 확보
vec1.shrink_to_fit(); // 벡터의 용량을 최소한으로 줄이기
vec1.resize(5, 0); // 벡터 크기를 5로 조절하고, 새로운 요소를 0으로 초기화
벡터의 고급 사용법에는 벡터에서 요소를 제거하거나 벡터의 일부를 다른 벡터로 이동하는 등의 작업이 포함됩니다.
// 벡터에서 인덱스 i의 요소 제거
let i = 2; vec1.remove(i);
// 벡터에서 마지막 요소를 꺼내기
if let Some(last_element) = vec1.pop() {
println!("마지막 요소: {}", last_element);
}
더 많은 메소드는 공식 문서를 참고하세요.