gpt4 book ai didi

java - Java中具有连续整数键的高效元素映射

转载 作者:行者123 更新时间:2023-11-30 05:43:22 26 4
gpt4 key购买 nike

Java中是否有一种数据结构可以实现Map接口(interface)并有效地保存具有连续整数键的元素数组?

在我看来,为了达到最佳效率,相当于在 Map 接口(interface)或哈希表中包装一个带有索引偏移值的数组或 ArrayList使用哈希函数 f(key) = key - offset 和最小后备数组。

我知道这很简单,但我不想重新发明轮子。 JDK中有这样的数据结构吗?或者有没有提供实现的库?

最佳答案

如果您不需要支持更新(这会使您的问题变得更加困难),请考虑传递 IntFunction<T>指定映射而不是 Map<Integer,T>

当你有 Map ,您可以通过map::get ,当您没有 map 时,您有很多简单的方法来指定映射。例如,您可以使用 lambda 定义一个简单的映射函数,例如:

IntFunction<T> mapper = v -> {
if (v < offset || v >= offset+array.length)
return null;
return array[v-offset];
}

关于java - Java中具有连续整数键的高效元素映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55279761/

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