java 1.用增强型for循环进行遍历 2.把set转换为数组,然后用普通for循环进行遍历 3.用Iterator迭代器接口进行遍历
时间: 2023-06-27 17:01:39 浏览: 216
1. 使用增强型for循环遍历:
```
Set<String> set = new HashSet<>();
for(String str : set){
System.out.println(str);
}
```
2. 把set转换为数组,然后使用普通for循环遍历:
```
Set<String> set = new HashSet<>();
String[] arr = set.toArray(new String[set.size()]);
for(int i=0; i<arr.length; i++){
System.out.println(arr[i]);
}
```
3. 使用Iterator迭代器进行遍历:
```
Set<String> set = new HashSet<>();
Iterator<String> iterator = set.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
```
相关问题
遍历一个List集合有哪些方式 A.使用普通for循环遍历 B.使用集合的forEach()方法遍历 C.使用新循环遍历 D.使用iterator()获取一个迭代器进行遍历
A. 使用普通 for 循环遍历,C. 使用新循环遍历,D. 使用 `iterator()` 获取一个迭代器进行遍历。
遍历一个 `List` 集合有以下几种方式:
A. 使用普通 for 循环遍历:
```java
List<Integer> list = new ArrayList<>();
// 添加元素到 list 中
for (int i = 0; i < list.size(); i++) {
Integer item = list.get(i);
// 对 item 进行处理
}
```
B. 使用集合的 `forEach()` 方法遍历:
```java
List<Integer> list = new ArrayList<>();
// 添加元素到 list 中
list.forEach(item -> {
// 对 item 进行处理
});
```
C. 使用新循环遍历:
```java
List<Integer> list = new ArrayList<>();
// 添加元素到 list 中
for (Integer item : list) {
// 对 item 进行处理
}
```
D. 使用 `iterator()` 获取一个迭代器进行遍历:
```java
List<Integer> list = new ArrayList<>();
// 添加元素到 list 中
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
Integer item = iterator.next();
// 对 item 进行处理
}
```
以上四种方式都可以用于遍历 `List` 集合,具体选择哪种方式取决于实际情况和个人喜好。
在TypeScript实验中,写一个使用迭代器遍历对象的例子,要求使用for...of进行遍历
在TypeScript中,你可以通过定义一个类(通常用于数据结构)并且实现`Iterable`接口或者`Symbol.iterator`方法,来创建一个可以被for...of循环遍历的对象。这里我们以一个简单的键值对对象为例:
```typescript
// 创建一个键值对对象
class KeyValuePair<K, V> implements Iterable<[K, V]> {
private data: { [key: K]: V };
constructor() {
this.data = {};
}
// 添加键值对
add(key: K, value: V) {
this.data[key] = value;
}
// 实现 Symbol.iterator 接口
[Symbol.iterator]() {
let index = 0;
return {
next: () => {
if (index < Object.keys(this.data).length) {
const key = Object.keys(this.data)[index];
index++;
return { value: [key, this.data[key]], done: false };
} else {
return { value: undefined, done: true };
}
},
};
}
}
// 使用示例
let keyValueObj = new KeyValuePair<string, number>();
keyValueObj.add('a', 1);
keyValueObj.add('b', 2);
for (const [key, value] of keyValueObj) {
console.log(`Key: ${key}, Value: ${value}`);
}
// 输出:
// Key: a, Value: 1
// Key: b, Value: 2
```
在这个例子中,`KeyValuePair`类实现了`Iterable`接口,通过`[Symbol.iterator]()`方法返回了一个包含了next方法的迭代器。每次for...of循环调用next,都会从data对象中获取下一个键值对,直到所有键值对都被遍历完。
阅读全文