package xmp_HashMap;

import java.util.HashMap;

public class Bank {
	private BankAccount[] accounts;
	private HashMap<String,BankAccount> byName;
	private int maxAccount;

	public Bank() {
		maxAccount=100;
		accounts = new BankAccount[100];
		byName = new HashMap<String,BankAccount>();
	}
	
	public int openAccount(String name,double initBalance) {
		BankAccount acct = new BankAccount(initBalance);
		acct.setName(name);
		accounts[acct.getId()] = acct; // Store in array by account ID
		byName.put(name, acct); // Store account by name
		return acct.getId();
	}

	public double getBalance(int acctId) {
		return accounts[acctId].getBalance();
	}
	
	public double getBalance(String name) {
		return byName.get(name).getBalance();
	}
	
	public static void main(String[] args) {
		Bank bank = new Bank();
		int johnsAcct = bank.openAccount("John Doe",120.00);
		int janesAcct = bank.openAccount("Jane Smith",400.00);
		
		System.out.println("John remembers his account number, his balance is " +
				bank.getBalance(johnsAcct));
		System.out.println("Jane does not remember her account number, but her balance is " +
				bank.getBalance("Jane Smith"));

	}

}
