當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust Iterator.max用法及代碼示例


本文簡要介紹rust語言中 std::iter::Iterator.max 的用法。

用法

fn max(self) -> Option<Self::Item> where    Self::Item: Ord,

返回迭代器的最大元素。

如果多個元素的最大值相同,則返回最後一個元素。如果迭代器為空,則返回 None

請注意,由於 NaN 無法比較, f32 / f64 未實現 Ord 。您可以使用 Iterator::reduce 解決此問題:

assert_eq!(
    vec![2.4, f32::NAN, 1.3]
        .into_iter()
        .reduce(f32::max)
        .unwrap(),
    2.4
);

例子

基本用法:

let a = [1, 2, 3];
let b: Vec<u32> = Vec::new();

assert_eq!(a.iter().max(), Some(&3));
assert_eq!(b.iter().max(), None);

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::iter::Iterator.max。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。