Java 我已经为SortedMap创建了一个put()方法,但是可以';似乎无法让测试代码正常工作

Java 我已经为SortedMap创建了一个put()方法,但是可以';似乎无法让测试代码正常工作,java,dictionary,Java,Dictionary,我就是不能让它工作。其想法是设计一种向映射添加键值对的方法,尽管程序编译正确,但格式为“tracker.put”(“17/06/2019”,“Jeffrey Burns”);”的测试代码会显示错误消息 我已尝试将方法参数更改为(字符串、列表) 公共类OfficeDeliveryTracker 私有分类地图交付跟踪程序; /** *OfficeDeliveryTracker类对象的构造函数 */ 公职人员移交追踪者() { this.deliveryTracker=new TreeMap(); }

我就是不能让它工作。其想法是设计一种向映射添加键值对的方法,尽管程序编译正确,但格式为“tracker.put”(“17/06/2019”,“Jeffrey Burns”);”的测试代码会显示错误消息

我已尝试将方法参数更改为(字符串、列表)

公共类OfficeDeliveryTracker
私有分类地图交付跟踪程序;
/**
*OfficeDeliveryTracker类对象的构造函数
*/
公职人员移交追踪者()
{
this.deliveryTracker=new TreeMap();
}
/**
*将键值对添加到映射中
*/
公共void addMapEntry(字符串键、字符串值)
{
List=deliveryTracker.get(键);
if(list==null){
列表=新的ArrayList();
}
列表。添加(值);
deliveryTracker.put(键,列表);
}
我期待测试代码跟踪器;要工作,请改为获取“错误:第1行-找不到符号-方法put(java.lang.String,java.lang.String)”

检查以下代码:

当您使用
SortedMap
时,它将字符串作为键,将字符串列表作为值

您不能使用tracker.put(“2019年6月17日”,“Jeffrey Burns”),因为“Jeffrey Burns”不是字符串列表

public class OfficeDeliveryTracker {
    private SortedMap<String, List<String>> deliveryTracker;

    /**
     * Constructor for objects of class OfficeDeliveryTracker
     */
    public OfficeDeliveryTracker() {
        this.deliveryTracker = new TreeMap<>();
    }

    /**
     * Adds key-value pair to the map
     */
    public void addMapEntry(String key, String value) {
        List<String> list = deliveryTracker.get(key);
        if (list == null) {
            list = new ArrayList<String>();
        }
        list.add(value);
        deliveryTracker.put(key, list);
    }

    public static void main(String[] args) {
        OfficeDeliveryTracker tracker = new OfficeDeliveryTracker();
        //tracker.put("17/06/2019", "Jeffrey Burns"); // Error : The method put(String, String) is undefined for the type OfficeDeliveryTracker;
        tracker.addMapEntry("17/06/2019", "Jeffrey Burns");
    }
}
公共类OfficeDeliveryTracker{
私有分类地图交付跟踪程序;
/**
*OfficeDeliveryTracker类对象的构造函数
*/
公职人员移交追踪者(){
this.deliveryTracker=new TreeMap();
}
/**
*将键值对添加到映射中
*/
公共void addMapEntry(字符串键、字符串值){
List=deliveryTracker.get(键);
if(list==null){
列表=新的ArrayList();
}
列表。添加(值);
deliveryTracker.put(键,列表);
}
公共静态void main(字符串[]args){
OfficeDeliveryTracker tracker=新的OfficeDeliveryTracker();
//tracker.put(“2019年6月17日”,“Jeffrey Burns”);//错误:对于OfficeDeliveryTracker类型,方法put(String,String)未定义;
tracker.addMapEntry(“2019年6月17日”,“Jeffrey Burns”);
}
}

Ha,是的,该类是公共类OfficeDeliveryTracker,我将编辑代码!谢谢在这种情况下,您能为测试代码提供一种格式吗?我可能无法正确理解您的问题,但如果您使用的是addMapEntry方法,那么tracker.addMapEntry(“Str1”,“Str1”);tracker.addMapEntry(“Str2”、“Str2”)…
deliveryTracker
!=<代码>跟踪器,或者是吗?在上面的代码中,
跟踪器
是OfficeDeliveryTracker类的参考,而
deliveryTracker
是SortedMaohmigosh,我花了很长时间盯着它,试图找出我出了什么问题,它一直盯着我的脸。谢谢你,沙什瓦特!
public class OfficeDeliveryTracker {
    private SortedMap<String, List<String>> deliveryTracker;

    /**
     * Constructor for objects of class OfficeDeliveryTracker
     */
    public OfficeDeliveryTracker() {
        this.deliveryTracker = new TreeMap<>();
    }

    /**
     * Adds key-value pair to the map
     */
    public void addMapEntry(String key, String value) {
        List<String> list = deliveryTracker.get(key);
        if (list == null) {
            list = new ArrayList<String>();
        }
        list.add(value);
        deliveryTracker.put(key, list);
    }

    public static void main(String[] args) {
        OfficeDeliveryTracker tracker = new OfficeDeliveryTracker();
        //tracker.put("17/06/2019", "Jeffrey Burns"); // Error : The method put(String, String) is undefined for the type OfficeDeliveryTracker;
        tracker.addMapEntry("17/06/2019", "Jeffrey Burns");
    }
}