Hallo zusammen,
ich habe eine kurze Frage, und zwar habe ich eine HashMap erstellt, welche einer Nummer einen bestimmten Account zuweisen soll.
In der folgenden Methode greife ich dann auf die minerMap zu:
Java meckert nun in der Zeile "minerMap.remove(account)" etwas rum von wegen es wäre ein "unlikely Argument Type Account for remove (Object) on a Map <Integer, Account>, da ich den Account ja nicht über dem ihn zugeordneten Integer wert entfernen möchte, sondern quasi über den account "direkt". Meine Frage nun macht das irgendeinen unterschied ob ich das Element jetzt auf die ein oder andere Art aus der Map entferne?
ich habe eine kurze Frage, und zwar habe ich eine HashMap erstellt, welche einer Nummer einen bestimmten Account zuweisen soll.
Java:
//Variablen
private Map<String, Account> accounts;
private Map<Integer, Block> blockMap;
private Map<Integer, Account> minerMap;
//Konstruktor
public AccountStorage() {
accounts = new ConcurrentHashMap<String, Account>();
blockMap = new ConcurrentHashMap<Integer, Block>();
minerMap = new ConcurrentHashMap<Integer, Account>();
initAccounts();
}
In der folgenden Methode greife ich dann auf die minerMap zu:
Code:
private void releaseBlockedBalances(Block block) {
int key = block.getBlockNumber() - Blockchain.BLOCK_CONFIRMATIONS;
Account account = minerMap.get(key);
if(account != null) {
double sumToUnlock = 50;
Block blocki = blockMap.get(key);
if(blocki != null) {
for(Transaction transaction : blocki.getTransactions()) {
sumToUnlock += transaction.getTransactionFee();
}
blockMap.remove(blocki.getBlockNumber());
}
minerMap.remove(account);
account.unlockBalance(sumToUnlock);
}
}