相关疑难解决方法(0)

Java中C++ Pair <L,R>的等价物是什么?

有没有一个很好的理由为什么Pair<L,R>Java中没有?这个C++构造的等价物是什么?我宁愿避免重新实现自己.

似乎1.6提供类似的东西(AbstractMap.SimpleEntry<K,V>),但这看起来很复杂.

java tuples std-pair

655
推荐指数
17
解决办法
45万
查看次数

如何使用多个键实现Map?

我需要一个行为类似于Map的数据结构,但使用多个(不同类型的)键来访问其值.
(我们不要太笼统,让我们说两把钥匙)

钥匙保证是独一无二的.

就像是:

MyMap<K1,K2,V> ...
Run Code Online (Sandbox Code Playgroud)

使用以下方法:

getByKey1(K1 key)...
getByKey2(K2 key)...
containsKey1(K1 key)...
containsKey2(K2 key)...
Run Code Online (Sandbox Code Playgroud)

你有什么建议吗?

我唯一能想到的是:
编写一个内部使用两个Maps的类.

编辑 有些人建议我使用元组,或类似作为Java Map的键,但这对我不起作用:
如上所述,我必须能够通过两个键中的一个来搜索值指定.
地图使用密钥的哈希码并检查它们的相等性.

java data-structures

144
推荐指数
6
解决办法
23万
查看次数

如何使用两个键(Key-Pair,Value)创建HashMap?

我有一个整数的2D数组.我希望将它们放入HashMap中.但我想基于Array Index访问HashMap中的元素.就像是:

对于A [2] [5],map.get(2,5)它返回与该键相关联的值.但是如何使用一对键创建hashMap?或者一般来说,多个键:Map<((key1, key2,..,keyN), Value)我可以使用get(key1,key2,... keyN)访问元素.

编辑:发布问题3年后,我想补充一点

我遇到了另一种方式NxN matrix.

数组索引,ij可被表示为一个单一的key方式如下:

int key = i * N + j;
//map.put(key, a[i][j]); // queue.add(key); 
Run Code Online (Sandbox Code Playgroud)

并且可以通过key以下方式从这些指数中恢复指数:

int i = key / N;
int j = key % N;
Run Code Online (Sandbox Code Playgroud)

java hash hashmap hashcode

114
推荐指数
7
解决办法
14万
查看次数

有两个键的地图

可能的重复:
如何实现具有多个键的 Map?
单值映射的多个键 Java

我必须根据两个传入的字符串属性获取枚举的值。我一直在做这个作为单个值的映射。现在我面临着串联。有没有办法让地图有两个键,这样我就可以

Map.get("attr1","attr2");
Run Code Online (Sandbox Code Playgroud)

这将返回正确的枚举。或者我是否只需要连接所有可能的值并将其用作键?

我正在寻找干净的解决方案(我们不都是:P)

java string concat key map

2
推荐指数
1
解决办法
2151
查看次数

标签 统计

java ×4

concat ×1

data-structures ×1

hash ×1

hashcode ×1

hashmap ×1

key ×1

map ×1

std-pair ×1

string ×1

tuples ×1