java Iterable
时间: 2023-10-29 07:04:30 浏览: 85
详解Java中Iterable与Iterator用法
Java中的`Iterable`接口是一个集合的根接口,表示实现了此接口的类可以被迭代遍历。它定义了一个`iterator()`方法,用于返回一个迭代器对象,该对象可以用来遍历集合中的元素。
`Iterable`接口的主要作用是提供了一种统一的方式来遍历集合,无论集合的具体实现方式如何,都可以通过调用`iterator()`方法获取一个迭代器,并使用迭代器的方法来依次访问集合中的元素。
下面是一个简单的示例,展示了如何使用`Iterable`接口和迭代器来遍历集合:
```java
import java.util.Iterator;
public class MyCollection implements Iterable<String> {
private String[] elements;
public MyCollection(String[] elements) {
this.elements = elements;
}
@Override
public Iterator<String> iterator() {
return new MyIterator();
}
private class MyIterator implements Iterator<String> {
private int index = 0;
@Override
public boolean hasNext() {
return index < elements.length;
}
@Override
public String next() {
return elements[index++];
}
}
public static void main(String[] args) {
String[] elements = { "A", "B", "C" };
MyCollection collection = new MyCollection(elements);
for (String element : collection) {
System.out.println(element);
}
}
}
```
在上面的示例中,`MyCollection`类实现了`Iterable`接口,并提供了一个内部类`MyIterator`实现了`Iterator`接口。`MyIterator`类用于实现迭代器的逻辑,包括`hasNext()`和`next()`方法。`MyCollection`类中的`iterator()`方法返回一个`MyIterator`对象。
在`main()`方法中,我们创建了一个`MyCollection`对象,并使用增强的`for`循环来遍历集合中的元素。通过实现`Iterable`接口和迭代器,我们可以很方便地遍历集合中的元素。
需要注意的是,`Iterable`接口只有一个方法`iterator()`,其他常见的集合操作方法(如添加、删除元素等)并没有在该接口中定义,它们是在`Collection`接口及其子接口中定义的。
阅读全文