patternjavaMinor
Implementation of iterator pattern for any array of elements
Viewed 0 times
iteratorelementsarrayanyforimplementationpattern
Problem
I have implemented Iterator pattern:
The interface Container.java:
Interface Iterator.java:
Class ResourceContainer.java:
Class ResourceIterator.java:
An
Main class:
```
public class MainClass {
public static void main(String [] args){
Integer [] nums = new Integer[]{12,23,100,1};
Container container01 = new ResourceContainer(nums);
Iterator itr01 = c
The interface Container.java:
public interface Container {
Iterator getIterator();
}Interface Iterator.java:
public interface Iterator{
boolean hasNext();
T next();
}Class ResourceContainer.java:
public class ResourceContainer implements Container{
private T names [];
public ResourceContainer(T [] names){
this.names = names;
}
@Override
public Iterator getIterator() {
return new ResourceIterator(this.names);
}
}Class ResourceIterator.java:
public class ResourceIterator implements Iterator{
private T [] names;
private int index;
public ResourceIterator(T [] names){
this.names = names;
}
@Override
public boolean hasNext() {
boolean flag = false;
if(this.index < this.names.length){
flag = true;
}
return flag;
}
@Override
public T next() {
return this.names[index++];
}
}An
EmployeeVO class:import java.io.Serializable;
public class EmployeeVO implements Serializable{
private String name;
private Integer id;
private String departmentName;
public EmployeeVO(Integer id, String name, String departmentName){
this.name = name;
this.id = id;
this.departmentName = departmentName;
}
@Override
public String toString(){
StringBuffer strb = new StringBuffer();
strb.append(" Id \"").append(this.id).append("\"")
.append(" Name \"").append(this.name).append("\"")
.append(" Department \"").append(this.departmentName).append("\"");
return strb.toString();
}
}Main class:
```
public class MainClass {
public static void main(String [] args){
Integer [] nums = new Integer[]{12,23,100,1};
Container container01 = new ResourceContainer(nums);
Iterator itr01 = c
Solution
I have two points for improvement:
-
Right now
-
You could implement
-
Right now
next() method increments the index. What happens if someone calls next() without calling hasNext() method?- Take care of
ArrayIndexOutOfBoundsExceptionor increment the index carefully.
-
You could implement
remove() method (Optional)Context
StackExchange Code Review Q#158385, answer score: 3
Revisions (0)
No revisions yet.