Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.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 如何将泛型设置为<;地图入口<;键类型、值类型>&燃气轮机;_Java - Fatal编程技术网

Java 如何将泛型设置为<;地图入口<;键类型、值类型>&燃气轮机;

Java 如何将泛型设置为<;地图入口<;键类型、值类型>&燃气轮机;,java,Java,我收到一个问题: 通过存储类型为的数据成员来编写TreeMap类的实现 树集 我想我应该创建一个类似Treeset+实现映射接口的treemap类,它们是什么意思“存储Treeset类型的数据成员?” 通过存储类型为TreeSet 通过“编写TreeMap类的实现”,我将其理解为用类似于内置类的行为实现您自己的类,即接口的实现 通过“存储一个X类型的数据成员”,我将其解释为对具有X类型字段的类的意义 因此,您需要实现这个类: public class MyTreeMap<KeyType,

我收到一个问题:

通过存储类型为的数据成员来编写TreeMap类的实现 树集

我想我应该创建一个类似Treeset+实现映射接口的treemap类,它们是什么意思“存储Treeset类型的数据成员?” 通过存储类型为
TreeSet

通过“编写TreeMap类的实现”,我将其理解为用类似于内置类的行为实现您自己的类,即接口的实现

通过“存储一个X类型的数据成员”,我将其解释为对具有X类型字段的类的意义

因此,您需要实现这个类:

public class MyTreeMap<KeyType, ValueType> implements NavigableMap<KeyType, ValueType> {
    private TreeSet<Map.Entry<KeyType, ValueType>> data;

    // your code here
}
通过存储类型为
TreeSet

通过“编写TreeMap类的实现”,我将其理解为用类似于内置类的行为实现您自己的类,即接口的实现

通过“存储一个X类型的数据成员”,我将其解释为对具有X类型字段的类的意义

因此,您需要实现这个类:

public class MyTreeMap<KeyType, ValueType> implements NavigableMap<KeyType, ValueType> {
    private TreeSet<Map.Entry<KeyType, ValueType>> data;

    // your code here
}

@ElliottFrisch实现了
NavigableMap
,而不仅仅是
Map
@Andreas我最初发布的
TreeSet TreeSet=new TreeSet()
,然后我觉得还需要一点……比如
KeyType
ValueType
来自哪里。@ElliottFrisch我的评论是关于你的可能,也就是说
implements Map
,应该是
implements NavigableMap
@ElliottFrisch implements
NavigableMap
,而不仅仅是
Map
。@Andreas我最初刚刚发布了
TreeSet TreeSet=new TreeSet()
,然后我觉得还需要一点……比如
KeyType
ValueType
的来源。@ElliottFrisch我的评论是关于你的maybe,也就是说
implements Map
,应该是
implements NavigableMap
。你的
数据默认为
null
。应该初始化它在某个地方(否则,答案很好)@ElliottFrisch True,但我没有显示任何可能会初始化该字段的构造函数,因为
TreeSet
可能需要正确初始化构造函数参数值,前提是您希望实现内置
TreeMap
所具有的构造函数参数值。您的
数据默认为
null
可能会在某个地方初始化它(否则,答案很好)。@ElliottFrisch True,但我没有显示任何可能会在那里初始化字段的构造函数,因为
TreeSet
可能需要正确初始化构造函数参数值,假设您想要实现内置
TreeMap
所具有的相同功能。
public ValueType get(Object key) {
    Entry<...> dummy = new DummyEntry<...>(key);
    Entry<...> found = this.data.ceiling(dummy);
    if (found != null && comparator.compare(found, dummy) == 0)
        return found.getValue();
    return null;
}