1interface Iterator {
2 public boolean has_next();
3 public Object get_next();
4}
5abstract class Printable {
6 public abstract void print();
7}
8class BankAccount extends Printable {
9 private String accountName;
10 private double balance;
11 public BankAccount(String aN, double b) {
12 //initialize accountname and balance
13 }
14 public void print() {
15 System.out.println(accountName + ", " + balance);
16 }
17}
18class BankAccountList {
19 private final int limit = 3;
20 private BankAccount[] list;
21 public BankAccountList(BankAccount[] accounts) {
22 this.list = accounts;
23 }
24 private class BankAccountIter implements Iterator {
25 private int indx;
26 public BankAccountIter() {
27 //constructor
28 }
29 public boolean has_next() {
30 //if next element available in list return true;else false
31 }
32 public Object get_next() {
33 //return next element from list
34 }
35 }
36 public Iterator getIterator() {
37 return new BankAccountIter();
38 }
39}
40public class Test{
41 public static void main(String[] args) {
42 BankAccountList.BankAccount[] accounts = {
43 new BankAccountList.BankAccount("Priya", 500),
44 new BankAccountList.BankAccount("Ravi", 1000),
45 new BankAccountList.BankAccount("Suresh", 1500)
46 };
47 BankAccountList bList = new BankAccountList(accounts);
48 Iterator iter = bList.getIterator();
49 while(iter.has_next()) {
50 ------------------; //LINE 1
51 }
52 }
53}