Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从ArrayList到HashMap的重构方法_Java_Arraylist_Hashmap_Refactoring - Fatal编程技术网

Java 从ArrayList到HashMap的重构方法

Java 从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()

我需要帮助重构我的代码,从使用ArrayList到函数,再到HashMap

我建了一个图书馆,可以储存我的记录。在那里我制作了一张新唱片,上面有标题、艺术家以及它是什么类型的唱片、唱片、乙烯基等等,我为这些做了一个档案

下面的方法检查记录是否存储在存档中,如果是,则返回true;如果不是,则返回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;
    } 
下面的这个方法将一个新记录添加到归档文件中,使用我之前的方法,如果记录已添加,则返回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;
    }   
}