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}