Rust Iterator

Table of Contents

1. Rust Iterator

1.1. iterator

1.1.1. Iterator

1.1.2. DoubleEndedIterator

DoubleEndedIterator 在 Iterator 基础上增加了反向遍历的支持. 只有 DoubleEndedIterator 才支持 rev() 操作.

增加了 rfind, rfold, next_back 等和反向遍历有关的操作.

Vec, LinkedList,Chars 等的 iterator 都是 DoubleEndedIterator

1.1.3. ExactSizeIterator

ExactSizeIterator 提前知道自己的长度, 所以支持 len(), is_empty(), Vec 是 DoubleEndedIterator, 但 Chars 并不是.

1.2. source

1.2.1. range

1.2.2. into_iter

1.2.3. iter

1.2.4. iter_mut

1.2.5. drain

1.2.6. Vec

1.2.6.1. windows
1.2.6.2. chunks
1.2.6.3. split

1.2.7. String

1.2.7.1. bytes
1.2.7.2. chars
1.2.7.3. lines
1.2.7.4. split
1.2.7.5. split_whitespaces

1.2.8. Map

1.2.8.1. keys
1.2.8.2. values

1.2.9. Iter

1.2.9.1. empty
1.2.9.2. once
1.2.9.3. repeat/repeat_with

1.3. adapter

1.3.1. chain

1.3.2. cloned

1.3.3. cycle

1.3.4. enumerate

1.3.5. filter

1.3.6. flatten

1.3.7. fold

1.3.8. fuse

1.3.9. inspect

1.3.10. map

1.3.11. peekable

1.3.12. repeat_with

1.3.13. rev

1.3.14. scan

1.3.15. skip

1.3.16. skip_while

1.3.17. step_by

1.3.18. take

1.3.19. take_while

1.3.20. zip

1.4. consumer

1.4.1. all

1.4.2. any

1.4.3. collect

1.4.4. count

1.4.5. eq/ne/gt/lt/ge/le

1.4.6. find/position

1.4.7. first

1.4.8. fold

1.4.9. for_each

1.4.10. last

1.4.11. max/min

1.4.12. max_by/max_by_key

1.4.13. nth

1.4.14. partition

1.4.15. sum/product

1.5. trait

1.5.1. Extend

1.5.2. FromIter

1.5.3. IntoIter

Backlinks

generator (Coroutine > generator): 不考虑实现细节, generator 在用法上和 iterator 类似, 例如 Rust Iterator

Author: [email protected]
Date: 2018-12-28 Fri 00:00
Last updated: 2022-10-24 Mon 11:33

知识共享许可协议