gpt4 book ai didi

java - 如何在java中创建2路 map

转载 作者:IT老高 更新时间:2023-10-28 20:25:05 25 4
gpt4 key购买 nike

我需要一个数据结构来以 1:1 的关系存储 string-int 值对,并且能够从任何一种方式查找它们的对应项。

我用 Hashtable 和 String 数组编写了一个类,并存储了 2 次数据,并使用内置函数进行查找。

我的问题是有没有更好的方法来实现这一点?更好我的意思是高效而不是存储数据 2 次,最好不要编写大量代码:P。

最佳答案

看来您可能正在寻找 bimap。

Google 集合(现在是 Guava 的一部分)包含一个 BiMap与一些实现的接口(interface)。

来自 BiMap 文档:

A bimap (or "bidirectional map") is amap that preserves the uniqueness ofits values as well as that of itskeys. This constraint enables bimapsto support an "inverse view", which isanother bimap containing the sameentries as this bimap but withreversed keys and values.

BiMap.inverse方法似乎返回一个 Map,其中值作为键,键作为值,因此 Map 可以用来调用 get在值上并检索一个键。

另外inverse返回的Map是底层数据的 View ,所以它不需要对原始数据做额外的拷贝。

来自 BiMap.inverse 方法文档:

Returns the inverse view of thisbimap, which maps each of this bimap'svalues to its associated key. The twobimaps are backed by the same data;any changes to one will appear in theother.

关于java - 如何在java中创建2路 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3430170/

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