2016-03-10 88 views
-2

我需要幫助重構我的代碼,從使用ArrayList函數到HashMap。從ArrayList到HashMap的重構方法

我已經做了一個圖書館,我可以存儲我的記錄。其中一個我創造了一個新的唱片公司,唱片公司和什麼類型的唱片(CD,乙烯等)。我爲這些人制作了檔案。

下面的這個方法檢查記錄是否存儲在歸檔中,如果是,則返回true,否則返回false。這一個我設法重構到HashMap。

public boolean exists(Record record) { 
    if(map.containsKey(record.getTitle())) { 
     return true; 
    } 
    return false; 
} 

這個方法下面增加了一個新的記錄檔案,採用以前的方法我做,如果記錄已添加和虛假如果該記錄在ArrayList中已經存在返回true。這一個我需要幫助重構到HashMap。

public boolean addTo(Record newRecord) { 
    if(exists(newRecord)){ 
     return false; 
    } else { 
     map.add(newRecord); 
     return true; 
    } 

以下是我嘗試重構它。爲存檔類添加字段變量和構造函數。

public class MediaArchive 
{ 
private String name ; 
private String owner ; 
private HashMap<String, Plate> map; 

public MediaArchive() { 
    map = new HashMap<String, Record>(); 
} 

public boolean addTo(Record record) { 
    if(exists(record)){ 
     return false; 
    } else { 
     map.add(record); 
     return true; 
    } 
} 
} 

所以我需要幫助重構我的「addTo」方法,以便它可以添加記錄到HashMap中。

+0

你可以使用'put'方法做哈希 – MaxZoom

+0

所以把我的.add改爲.put?我有點嘗試過。可能是我的代碼沒有達到標準。你能否詳細說明一下? –

+0

我很快注意到的一件事是你的類名'MediaArchive'與構造函數名不匹配'MedieArkiv' – Bunti

回答

0
public boolean addTo(Record record) { 
    if(exists(record)){ 
     return false; 
    } else { 
     map.put(record.getTitle(), record); 
     return true; 
    } 
} 
+0

非常感謝!看起來很簡單。 –