Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. package listyIterator;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Iterator;
  5. import java.util.List;
  6.  
  7. public class Listy<String> implements Iterable<String> {
  8. private List<String> container = new ArrayList<>();
  9. private ListyIterator iterator;
  10.  
  11. public Listy(String... elements) {
  12. for(String e : elements){
  13. this.container.add(e);
  14. }
  15. this.iterator = this.iterator();
  16. }
  17.  
  18. @Override
  19. public ListyIterator iterator() {
  20. return new ListyIterator();
  21. }
  22.  
  23. public boolean move(){
  24. if(this.iterator.hasNext()){
  25. this.iterator.next();
  26. return true;
  27. }
  28. return false;
  29. }
  30.  
  31. public void print(){
  32. if(!this.container.isEmpty()) {
  33. System.out.println(this.iterator.crnt());
  34. }
  35. else {
  36. System.out.println("Invalid Operation!");
  37. }
  38. }
  39.  
  40. public boolean hasNext() {
  41. return this.iterator.hasNext();
  42. }
  43.  
  44. public void printAll(){
  45. System.out.println(this.container.toString().replaceAll("[\\[\\],]", ""));
  46. }
  47.  
  48.  
  49. private final class ListyIterator implements Iterator<String>{
  50. private int counter;
  51.  
  52. public ListyIterator() {
  53. this.counter = 0;
  54. }
  55.  
  56. @Override
  57. public boolean hasNext() {
  58. return container.size() > this.counter+1;
  59. }
  60.  
  61. @Override
  62. public String next(){
  63. return container.get(this.counter++);
  64. }
  65.  
  66. public String crnt(){
  67. return container.get(this.counter);
  68. }
  69.  
  70. }
  71.  
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement