2016-11-02 3 views
-3

나는이 해시 맵을 가지고자바 - 해시 맵에 저장된 객체의 메서드를 사용하는 방법을

Map<Long, Account> bankaccounts = new HashMap<>(); 

(키는 은행 계좌 번호입니다 및 계정 같은 은행 계좌와 관련된 다양한 정보를 포함하는 클래스입니다 사용자 이름 '은행'나는

public boolean withdrawMoney(long who, double amount) 

내 질문 withdrawMoney라는 방법이라는 다른 클래스에서, 계정 잔액 등)

이다 : 어떻게 접근하고 객체 B를 수정할 수 있습니다 해시 맵 키를 길게 늘리면서 Bank의 withdrawMoney 메소드를 사용하여 Account 객체에 해당 객체 클래스의 메서드를 사용합니까?

실례지만, 모국어입니다. 당신이 내 요지를 가지기를 바랍니다.

+3

가 무슨 시도를 액세스하기 전에 해시 맵에 계정을 추가합니다 : 당신이 뭔가를해야한다는

을 수행하려면? "계정 개체의 해당 개체 클래스"란 무엇입니까? 이 개체는 계정 개체입니다. 'bankaccounts.get (who) .aMethod (amount)' – drhr

+0

나는 Map user91679

답변

0

내 질문은 : 나는 어떻게 접근 (은행에 withdrawMoney 방법을 사용하여) 객체가 해시 맵의 키에 속하는 수정 및 계정 객체에 해당 객체의 클래스의 방법을 사용할 수 있습니까?

나는 부분으로 분할합니다 : I가 액세스 할 수있는 방법

을 키 해시 맵에 속하는 개체를 수정 묶여 값에 액세스하려면

해시 맵의 키에 해시 맵 변수 (bankaccounts)를 참조하고 get() met을 사용합니다 hod : Long 형식을 매개 변수로 사용합니다. 예를 들면 다음과 같습니다.

long l = 123456789L; 
Account account = bankaccounts.get(l); 

분명히 해시 맵에 보유하고있는 키가 있는지 확인해야합니다.

키 값을 수정하려면

키를 해시 맵에 속하는 개체를 수정, 당신은 단지 동일한 키를 사용하여 다른 값을 둘 것 :

long l = 123456789L; 
bankaccounts.put(l, new Account()); 

해당 키의 이전 계정 개체를 대체합니다.

사용은 당신이 withdrawMoney를 사용하려고한다면 당신은 (부울에 걸리는 계정 개체의 방법을 필요

계정 객체에 해당 객체의 클래스의 방법())

0

귀하의 질문을 이해할 수 있을지 잘 모르겠습니다. 하지만, 당신이 수업을 가지고 있다는 것을 이해하면, 해시 맵을 가지고있는 BankAccounts를 말할 수 있습니다.

그런 다음 Bank 클래스의 해시 맵에 액세스해야합니다.

클래스 은행에서 해시 맵에 액세스하면 계정 클래스 (해시 맵에 있음)에서 메소드에 액세스해야합니다.

public class BankAccounts { 

    HashMap<Long, Account> bankAccounts ; 

    public BankAccounts() { 
     bankAccounts = new HashMap<>(); 
    } 

    //Omiting details 

    public Map<Long,Account> getAccounts(){ 
     return bankAccounts; 
    } 


} 


public class Bank { 

    private BankAccounts accounts; 

    public Bank(){ 
     accounts = new BankAccounts(); 
    } 

    //Omiting details(..) 

    public boolean withdrawMoney(long who, double amount) { 
     //this is how you would access an object present in the hashMap 
     accounts.getAccounts().get(who).theMethodYouWant(); 
     //your program logic 
    } 

는 당신이

관련 문제