用iterator 遍历元素
时间: 2023-08-04 10:10:41 浏览: 47
使用迭代器遍历元素的一般步骤如下:
1. 定义迭代器:使用 `begin()` 来获取容器的起始位置迭代器,使用 `end()` 来获取容器的结束位置迭代器。
2. 遍历元素:使用迭代器,从起始位置开始,依次访问每个元素,直到结束位置。
下面是一个示例代码,使用迭代器遍历一个 `vector` 容器:
```c++
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec{1, 2, 3, 4, 5};
// 使用迭代器遍历 vector 容器
for (auto it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
1 2 3 4 5
```
其中,`auto` 自动推导出的类型是 `std::vector<int>::iterator`,表示容器元素的迭代器类型。在循环中,使用 `*it` 来访问当前迭代器指向的元素。
相关问题
使用iterator遍历
可以使用iterator来遍历一个容器,例如vector。以下是一个示例代码,展示如何使用iterator遍历vector:
```c++
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec{1, 2, 3, 4, 5};
// 使用iterator遍历vector
for (auto it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << ' ';
}
std::cout << std::endl;
return 0;
}
```
在上面的代码中,我们使用vector的begin()和end()函数获取容器的起始和末尾iterator,然后使用这两个iterator来遍历vector。在循环中,我们使用*it来获取iterator指向的元素的值。
list集合使用iterator遍历修改数据
可以使用iterator的set方法来修改集合中的数据。以下是一个示例代码:
```java
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String fruit = iterator.next();
if (fruit.equals("banana")) {
iterator.set("grape");
}
}
System.out.println(list); // 输出 [apple, grape, orange]
```
在这个示例中,我们创建了一个字符串类型的List集合,并向其中添加了三个元素。然后我们使用iterator遍历集合,当遍历到"banana"时,使用iterator的set方法将其修改为"grape"。最后再次输出集合,可以看到"banana"已被修改为"grape"。