Паттерн: Итератор (Iterator)
Исходник: Client.java, язык: java [code #503, hits: 7105]
автор: this [добавлен: 05.10.2007]
  1. package iterator;
  2.  
  3. import java.io.FileNotFoundException;
  4. import java.util.Iterator;
  5. import java.util.List;
  6.  
  7. public class Client {
  8. public final static String FILENAME = "file1.txt";
  9.  
  10. static int mode;
  11.  
  12. public static void main(String[] args) throws FileNotFoundException {
  13. if (args.length > 0) mode = Integer.valueOf(args[0]);
  14.  
  15. List<String> fLines = Client.GetList();
  16.  
  17. for (Iterator<String> iter = fLines.iterator(); iter.hasNext();) {
  18. String line = iter.next();
  19. System.out.println(line);
  20. }
  21. }
  22.  
  23. public static List<String> GetList() throws FileNotFoundException {
  24. List<String> res = null;
  25. if (mode > 0) {
  26. res = new FileLineListOpt(FILENAME);
  27. } else {
  28. res = new FileLineList(FILENAME);
  29. }
  30. return res;
  31. }
  32.  
  33. }
Прозрачный способ использования различных реализаций итераторов: FileLineList и FileLineListOpt.
Тестировалось на: java 1.5.0_04

+добавить реализацию