Iterable介面
Iterable介面包含一個產生Iterator的iterator的方法,用於foreach中移動
下面是一個例子:
import java.util.*;
public class IteratableClass implements Iterable<String>{
protected String [] words="and that is how we know the earth to be banana-shaped".split(" ");
public Iterator<String> iterator(){
return new Iterator<String>(){
private int index=0;
public boolean hasNext(){
return index<words.length;
}
public String next(){
return words[index++];
}
public void remove(){
}
};
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
for(String s:new IteratableClass()){
System.out.println(s+" ");
}
}
}
下面用介面卡方法產生反向的迭代的方法:
import java.util.*;
public class ReversibleArrayList<T> extends ArrayList<T>{
public ReversibleArrayList(Collection<T> c){
super(c);
}
public Iterable<T> reversed(){
return new Iterable<T>(){
public Iterator<T> iterator(){
return new Iterator<T>(){
int current=size()-1;
public boolean hasNext(){
return current>0;
}
public T next(){
return get(current--);
}
public void remove(){}
};
}
};
}
}
import java.util.*;
public class AdapterMethodIdiom {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ReversibleArrayList<String> ral=new ReversibleArrayList<String>(Arrays.asList("to be or not to be".split(" ")));
for(String s:ral)
System.out.print(s+" ");
System.out.println();
for(String s:ral.reversed())
System.out.print(s+" ");
}
}
相關文章
- Java中的Enumeration、Iterable和Iterator介面詳解Java
- Iterable object of JavaScriptObjectJavaScript
- 學習java筆記 --- 一個實現Iterable介面的小范例Java筆記
- TypeError: “ModelBase is not iterable”Error
- Javascript教程(七)iterableJavaScript
- python generator iterator和iterable objectPythonObject
- Iterator與Iterable(迭代器與可迭代)
- 聊一聊Iterable與Iterator的那些事!
- Spark 優化GroupByKey產生RDD[(K, Iterable[V])]Spark優化
- TypeError: Tensor objects are only iterable when eager execution is enabled. To iterate over this tErrorObject
- 一文徹底搞懂Python可迭代(Iterable)、迭代器(Iterator)和生成器(Generator)的概念Python
- 介面卡模式(類介面卡,物件介面卡,介面介面卡)模式物件
- API介面------外部介面和內部介面區別API
- java 介面,介面的特性,介面實現多型,面向介面程式設計Java多型程式設計
- Lock介面之Condition介面
- 淘寶商品詳情介面(商品銷量介面,商品列表介面,商品影片介面)程式碼展示
- 介面
- 『居善地』介面測試 — 2、介面和介面文件概念
- 介面卡模式(類介面卡 物件介面卡)模式物件
- 什麼是介面?如何定義介面?如何實現介面?
- 類與介面(三)java中的介面與巢狀介面Java巢狀
- 介面測試--介面文件規範
- Java 自學 - 介面與繼承 介面Java繼承
- 呼叫後端介面 / 介面適配後端
- BeanNameAware介面和BeanFactoryAware介面(轉)Bean
- 1688商品詳情資料介面、商品列表介面,商品屬性介面、商品優惠券介面
- 開啟系統介面/軟體介面
- TS 介面
- Serializable介面
- interface/介面
- 2.4 介面
- Collection介面
- TypeScript 介面TypeScript
- go介面Go
- RandomAccess介面randomMac
- 介面1
- MutationObserver 介面Server
- java介面Java