我有一个整数的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
.
数组索引,i
和j
可被表示为一个单一的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) 我想知道TCP中bind()的确切功能.将本地地址"绑定"到套接字是什么意思?如果它正在为套接字分配端口号,那么为什么我们不在客户端中使用它?我知道端口是由操作系统在客户端自动分配的,但我并没有全面了解所有这些是如何工作的.
在bind()之后,我们监听().绑定是如何与listen()相关的?listen()是否知道bind()已被执行?如果是这样,bind()会做出哪些更改以便知道它?我的意思是,为成功执行返回零如何帮助?
我已经经历了很多定义,但没有在哪里可以详细了解所有这些.所以,如果有人能够向我解释这一点,我将不胜感激.
在声明字符串集时,我有几个要初始化的单词.
...
using namespace std;
set<string> str;
/*str has to contain some names like "John", "Kelly", "Amanda", "Kim".*/
Run Code Online (Sandbox Code Playgroud)
我不想str.insert("Name");
每次都使用.
任何帮助,将不胜感激.
有没有办法在两个表上执行LEFT OUTER JOIN时插入零而不是NULL?
假设我有这样的查询:
SELECT * FROM
(SELECT uID from Class) T1
LEFT OUTER JOIN
(SELECT pID from University) T2
ON T1.uID = T2.pID
CASE WHEN T1.uID IS NULL
THEN 0
ELSE T1.uID
END AS uID`
Run Code Online (Sandbox Code Playgroud)
如我错了请纠正我
这是我写的比较器,用于根据成本对节点进行排序.
public class MyCostComparator implements Comparator<Node>{
public int compare(Node a, Node b){
if(a.pathCost > b.pathCost)
return 1;
else
return -1;
}
}
Run Code Online (Sandbox Code Playgroud)
我发现它的行为在我的机器(Java 1.7)和Uni的服务器(Java 1.5)上是不同的.但是,当我做到它:
if(a.pathCost >= b.pathCost)
,它似乎在1.5上工作正常,但1.7的另一种方式.
另外,当值相等时,NOT返回零的缺点是什么?