Java 从ArrayList到HashMap的重构方法
我需要帮助重构我的代码,从使用ArrayList到函数,再到HashMap 我建了一个图书馆,可以储存我的记录。在那里我制作了一张新唱片,上面有标题、艺术家以及它是什么类型的唱片、唱片、乙烯基等等,我为这些做了一个档案 下面的方法检查记录是否存储在存档中,如果是,则返回true;如果不是,则返回false。这一个我设法重构到HashMapJava 从ArrayList到HashMap的重构方法,java,arraylist,hashmap,refactoring,Java,Arraylist,Hashmap,Refactoring,我需要帮助重构我的代码,从使用ArrayList到函数,再到HashMap 我建了一个图书馆,可以储存我的记录。在那里我制作了一张新唱片,上面有标题、艺术家以及它是什么类型的唱片、唱片、乙烯基等等,我为这些做了一个档案 下面的方法检查记录是否存储在存档中,如果是,则返回true;如果不是,则返回false。这一个我设法重构到HashMap public boolean exists(Record record) { if(map.containsKey(record.getTitle()
public boolean exists(Record record) {
if(map.containsKey(record.getTitle())) {
return true;
}
return false;
}
public boolean addTo(Record newRecord) {
if(exists(newRecord)){
return false;
} else {
map.add(newRecord);
return true;
}
下面的这个方法将一个新记录添加到归档文件中,使用我之前的方法,如果记录已添加,则返回true;如果记录已存在于arraylist中,则返回false。这一个我需要帮助重构到HashMap
public boolean exists(Record record) {
if(map.containsKey(record.getTitle())) {
return true;
}
return false;
}
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。您可以对HashSo使用put方法来更改my.add to.put?我试过了。可能是我的代码不符合标准的其他东西。你能详细解释一下吗?我很快注意到你的类名MediaArchive与构造器名MedieArkiv@Bunti不匹配是的,我不得不用挪威语将我的代码重写为英语,可能是为什么。当两张专辑的标题相同时,你会怎么做?Java映射不允许两个具有相同密钥的条目。非常感谢!看起来很简单。
public boolean addTo(Record record) {
if(exists(record)){
return false;
} else {
map.put(record.getTitle(), record);
return true;
}
}