gpt4 book ai didi

java - 泛型怎么可能是 >

转载 作者:行者123 更新时间:2023-12-01 20:52:38 26 4
gpt4 key购买 nike

我收到一个问题:

通过存储类型的数据成员来编写 TreeMap 类的实现树集 <Map.Entry<KeyType,ValueType>> .

我很难我应该创建一个像 Treeset + 实现 Map 接口(interface)的树形图类,它们是什么意思“存储 TreeSet<<Map.Entry<KeyType,ValueType>> 类型的数据成员”

通用的怎么可能是 <Map.Entry<KeyType,ValueType>>

最佳答案

Write an implementation of the TreeMap class by storing a data member of type TreeSet <Map.Entry<KeyType,ValueType>>

通过“编写 TreeMap 类的实现”,我将其解释为使用类似于内置 TreeMap 的行为来实现您自己的类。类,即 NavigableMap 的实现界面。

通过“通过存储 X 类型的数据成员”,我将其解释为您的类具有 X 类型字段的含义。

所以,你需要实现这个类:

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

// your code here
}

为了您的方便,以下是一些(简单的)方法:

public Set<Map.Entry<KeyType, ValueType>> entrySet() {
return this.data;
}
public void clear() {
this.data.clear();
}
public int size() {
return this.data.size();
}
<小时/>

更新

我的解释是TreeSet使用Comparator比较 Entry按 键,这样您就可以执行以下操作(伪代码):

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;
}

关于java - 泛型怎么可能是 <Map.Entry<KeyType,ValueType>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42987895/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com