将方法从 ArrayList 重构为 HashMap
Refactoring methods from ArrayList to HashMap
我需要帮助重构我的代码,从使用 ArrayList 运行到 HashMap。
我创建了一个可以存储我的记录的图书馆。我制作一张新唱片的地方,上面有标题、艺术家和它是什么类型的唱片(CD、乙烯基等)。我为这些做了一个存档。
下面的方法检查记录是否存储在存档中,return如果是则为真,否则为假。这个我设法重构为 HashMap。
public boolean exists(Record record) {
if(map.containsKey(record.getTitle())) {
return true;
}
return false;
}
下面的这个方法向存档中添加了一条新记录,使用我以前的方法 return 如果已添加记录则为 true,如果记录已存在于 arraylist 中则为 false。这个我需要帮助重构到 HashMap。
public boolean addTo(Record newRecord) {
if(exists(newRecord)){
return false;
} else {
map.add(newRecord);
return true;
}
下面是我重构它的尝试。为存档添加字段变量和构造函数 class.
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。
public boolean addTo(Record record) {
if(exists(record)){
return false;
} else {
map.put(record.getTitle(), record);
return true;
}
}
我需要帮助重构我的代码,从使用 ArrayList 运行到 HashMap。
我创建了一个可以存储我的记录的图书馆。我制作一张新唱片的地方,上面有标题、艺术家和它是什么类型的唱片(CD、乙烯基等)。我为这些做了一个存档。
下面的方法检查记录是否存储在存档中,return如果是则为真,否则为假。这个我设法重构为 HashMap。
public boolean exists(Record record) {
if(map.containsKey(record.getTitle())) {
return true;
}
return false;
}
下面的这个方法向存档中添加了一条新记录,使用我以前的方法 return 如果已添加记录则为 true,如果记录已存在于 arraylist 中则为 false。这个我需要帮助重构到 HashMap。
public boolean addTo(Record newRecord) {
if(exists(newRecord)){
return false;
} else {
map.add(newRecord);
return true;
}
下面是我重构它的尝试。为存档添加字段变量和构造函数 class.
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。
public boolean addTo(Record record) {
if(exists(record)){
return false;
} else {
map.put(record.getTitle(), record);
return true;
}
}