我需要一个数据结构来以1:1的关系存储string-int值对,并且能够从对应的任何一种方式查找.
我用Hashtable和String数组编写了一个类,并将数据存储了2次,并使用内置函数进行查找.
我的问题是,是否有更好的方法来实现这一目标?并且更好,我的意思是效率高,不存储数据2次,最好不要写大量的代码:P.
我想key value data structure用于Android应用程序.我可以使用Map<K,V>,但在Map我无法获得特定值的关键.
是否有任何良好的Java数据结构,我可以使用它来按值检索密钥,反之亦然.
具体来说,我正在寻找类似干净的符号Collection<T>.TrueForAll/ Exists等.
编写一个foreach循环来检查每个对象上方法的返回感觉很臭,所以我希望有一个更好的Java习语.
我需要一种可以在两个方向上访问的地图,因此使用键 - 键结构而不是键值.这是否存在于Java中?如果没有,创建它的最佳方法是什么?
例如:
mySpecialHashMap.put("key1", "key2");
mySpecialMap.getL2R("key1") returns "key2";
mySpecialMap.getR2L("key2") returns "key1";
Run Code Online (Sandbox Code Playgroud) 有没有一种有效的方法来存储数据结构中的名字和姓氏,以便我们可以使用名字或姓氏进行查找?我会考虑一个带名字的二叉搜索树.搜索名字会很有效率.但是在尝试搜索姓氏时效率并不高.我们还可以再考虑一个姓氏的BST.有效实施它的任何想法?
如果问题是,怎么办?
字符串名称[] = {"A B","C D"};
要求是能够在运行时动态扩展此目录,而无需持久存储.该目录最终可以增长到数百或数千个名称,并且必须可以按名字或姓氏进行搜索.
现在我们不能存储哈希表.有任何想法吗?
language-agnostic algorithm contacts binary-search-tree data-structures
我遇到的情况是,我将根据价值改变密钥HashMap.我HashMap是:
HashMap<Key, Path>
Run Code Online (Sandbox Code Playgroud)
最初我正在Key为每个目录创建s Path并将这些条目放入其中HashMap.当进行处理,我将采取Path基于Key从HashMap并处理它们.在某些情况下,我将重新计算Key了一些Path,想取代旧Key与新的Key针对Path.我希望为唯一路径保留唯一的密钥,并使用其中一个更新HashMap中的Entry.所以我想执行HashMap的反向更新Key.什么是最好的技术?
提前致谢.