dev_tool/
collection_util.rs

1pub struct CollectionUtil;
2
3/// vec常规操作
4impl CollectionUtil { 
5
6    /// 获取vec的第一个元素,不移除
7    pub fn first<'a, T>(vec: &'a Vec<T>) -> Option<&'a T> { 
8        if vec.len() > 0 {
9            vec.get(0)
10        } else {
11            None
12        }
13    }
14
15    /// 移除并获取vec的第一个元素
16    pub fn remove_first<T>(vec: &mut Vec<T>) -> Option<T> { 
17        if vec.len() > 0 {
18            Some(vec.remove(0))
19        } else {
20            None
21        }
22    }
23
24    /// 获取vec的最后一个元素,不移除
25    pub fn last<'a, T>(vec: &'a Vec<T>) -> Option<&'a T> { 
26        vec.last()
27    }
28    
29    /// 获取vec的最后一个元素,移除
30    pub fn pop<T>(vec: &mut Vec<T>) -> Option<T> { 
31        vec.pop()
32    }
33}