Rust - 2개의 Vector가 같은지 비교 (==, equals)

러스트에서 두개의 Vector가 서로 같은지 비교하는 방법을 소개합니다.

1. == 연산자를 이용한 방법

==는 두개의 Vector가 같으면 true를 리턴하고, 다르면 false를 리턴합니다.

  • 요소의 값은 모두 동일하지만 순서만 달라도 다른 Vector로 인식하여 false를 리턴
  • sort()로 정렬 후 비교하면 순서가 다른 것을 무시하고 비교할 수 있음
fn main() {
    let vec1 = [1, 2, 3, 4, 5];
    let vec2 = [1, 2, 3, 5, 4];
    let vec3 = [1, 2, 3, 4, 5];

    if vec1 == vec2 {
        println!("vec1 and vec2 are equal")
    }
    if vec1 == vec3 {
        println!("vec1 and vec3 are equal")
    }
}

Output:

vec1 and vec3 are equal

2. eq()를 이용한 방법

arr1.eq(&arr2)로 두개의 Vector가 같은지 비교할 수 있습니다.

  • 같으면 true, 다르면 false를 리턴합니다.
fn main() {
    let vec1 = [1, 2, 3, 4, 5];
    let vec2 = [1, 2, 3, 5, 4];
    let vec3 = [1, 2, 3, 4, 5];

    if vec1.eq(&vec2) {
        println!("vec1 and vec2 are equal")
    }
    if vec1.eq(&vec3) {
        println!("vec1 and vec3 are equal")
    }
}

Output:

vec1 and vec3 are equal

3. for문으로 직접 비교

아래와 같이 for문으로 두개의 벡터를 순회하면서 같은지 비교할 수 있습니다.

fn main() {
    let vec1 = [1, 2, 3, 4, 5];
    let vec2 = [1, 2, 3, 5, 4];

    let mut equal = true;
    for i in 0..vec1.len() {
        if vec1[i] != vec2[i] {
            equal = false;
            break;
        }
    }
    println!("vec1 and vec2 are equal ? {}", equal);
}

Output:

vec1 and vec2 are equal ? false
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha