러스트에서 두개의 Array가 서로 같은지 비교하는 방법을 소개합니다.
1. == 연산자를 이용한 방법
==
는 두개의 Array가 같으면 true를 리턴하고, 다르면 false를 리턴합니다.
- 요소의 값은 모두 동일하지만 순서만 달라도 다른 배열로 인식하여 false를 리턴
fn main() {
let arr1 = [1, 2, 3, 4, 5];
let arr2 = [1, 2, 3, 5, 4];
let arr3 = [1, 2, 3, 4, 5];
if arr1 == arr2 {
println!("arr1 and arr2 are equal")
}
if arr1 == arr3 {
println!("arr1 and arr3 are equal")
}
}
Output:
arr1 and arr3 are equal
정렬 후 비교
sort()
로 정렬 후 비교하면, 값은 같지만 요소의 순서가 다른 경우는 고려하지 않아도 됩니다.
즉, 요소의 순서는 무시하고 요소의 값만 같은지만 비교하게 됩니다.
fn main() {
let mut arr1 = [1, 2, 3, 4, 5];
let mut arr2 = [1, 2, 3, 5, 4];
let mut arr3 = [1, 2, 3, 4, 5];
arr1.sort();
arr2.sort();
arr3.sort();
if arr1 == arr2 {
println!("arr1 and arr2 are equal")
}
if arr1 == arr3 {
println!("arr1 and arr3 are equal")
}
}
Output:
arr1 and arr2 are equal
arr1 and arr3 are equal
2. eq()를 이용한 방법
arr1.eq(&arr2)
로 두개의 배열이 같은지 비교할 수 있습니다. 같으면 true, 다르면 false를 리턴합니다.
fn main() {
let arr1 = [1, 2, 3, 4, 5];
let arr2 = [1, 2, 3, 5, 4];
let arr3 = [1, 2, 3, 4, 5];
if arr1.eq(&arr2) {
println!("arr1 and arr2 are equal")
}
if arr1.eq(&arr3) {
println!("arr1 and arr3 are equal")
}
}
Output:
arr1 and arr3 are equal
3. for문으로 직접 비교
아래와 같이 for문으로 두개의 배열을 순회하면서 두개의 배열이 같은지 비교할 수 있습니다.
fn main() {
let arr1 = [1, 2, 3, 4, 5];
let arr2 = [1, 2, 3, 5, 4];
let mut equal = true;
for i in 0..arr1.len() {
if arr1[i] != arr2[i] {
equal = false;
break;
}
}
println!("arr1 and arr2 are equal ? {}", equal);
}
Output:
arr1 and arr2 are equal ? false
Loading script...
Related Posts
- Rust - String을 char 리스트(Vector)로 변환
- Rust - 문자가 대문자인지 소문자인지 확인
- Rust - String에서 줄바꿈(newline) 문자 제거 방법
- Rust - String 대문자, 소문자 변환
- Rust - 현재 시간 가져오기 (DateTime, chrono)
- Rust - 예외 처리 방법 (Exception handling)
- Rust - String.find()으로 문자열 Index 찾기
- Rust - match (Switch) 사용 방법
- Rust - Vector의 요소 제거 방법 (remove, retain, drain)
- Rust - String의 특정 Index 값 가져오기
- Rust - 문자열 뒤집기, 역순으로 변경
- Rust - String 객체에 문자열 추가하기
- Rust - sleep(), 몇 초 지연/대기 방법
- Rust - String을 Int, Float으로 변환
- Rust - Integer를 String으로 변환
- Rust - Float를 String으로 변환
- Rust - String 비교 방법 (==, !=, eq, ne)
- Rust - String을 str으로, str을 String으로 변환
- Rust - String 공백 제거 (trim, replace)
- Rust - 2개의 배열이 같은지 비교 (==, equals)
- Rust - 배열 길이 가져오기 (Array length)
- Rust - Vector를 배열로 변환 (vector to array)
- Rust - 배열의 최소, 최대 값 찾기 (min, max)
- Rust - 배열의 합계, 평균 (sum, average)
- Rust - 2개의 Vector가 같은지 비교 (==, equals)
- Rust - HashMap을 Vector로 변환
- Rust - Vector의 최소, 최대 값 찾기 (min, max)
- Rust - Vector의 합계, 평균 (sum, average)
- Rust - 벡터 길이 가져오기 (Vector length)
- Rust - 배열을 HashSet으로 변환
- Rust - 배열을 벡터로 변환하는 방법
- Rust - 배열(벡터) 모든 요소 출력
- Rust - 배열 나누기, 자르기 (split_at, slice)
- Rust - 2개 벡터 하나로 합치기
- Rust - HashSet을 Vector로 변환