Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >带有2个键的Hashmap

带有2个键的Hashmap
EN

Stack Overflow用户
提问于 2018-04-02 01:54:33
回答 4查看 3.6K关注 0票数 1

我想创建一个有2个关键字的哈希图。我该怎么做呢?

假设hashmap不是使用1个键来查找值,而是需要1个键,然后使用另一个键将搜索范围缩小到某个类型。

我需要它来使用我们给它的球员。那应该是key1。对于key2,我需要它是一个字符串,可以是类似于"fly“或"speed”的类型,然后我需要从这些类型中获取一个值。

我也不想使用超过1个类的这项工作。

如果我能做HashMap就好了,但你不能直接这么做。

我已经搜索过了,而且我还在学习一些java,并且还在阅读oracle java手册,所以请记住这一点,因为我不确定这是不是一个愚蠢的问题。

此外,我已经搜索了答案,但我尝试查看其他用户的问题和答案,但这对我的问题没有帮助。

EN

回答 4

Stack Overflow用户

发布于 2018-04-02 02:01:10

您可以使用两个map来完成此操作,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Map<Kay1DataType, Map<Kay2DataType, V>> map = //...
//...

然后,您可以执行以下操作进行访问:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
map.get(Key1).get(Key2);

然后将该值放入,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Map<Kay2DataType, V> secondMap = //...
secondMap.put(Key2, /* Object of type V*/);

最后放到map

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
map.put(key1, secondMap);
票数 1
EN

Stack Overflow用户

发布于 2018-04-02 02:05:51

这个问题还不完全清楚,但我会尽我最大的努力……

这样做的唯一逻辑方法(假设它是一个键和值具有相同类型的HashMap ),您可以让一个键具有一个值,该值将作为第二个值的键,而第二个值是所需的值。我将编写一个快速示例(因为我知道当我尝试用书面形式解释它时,这似乎有点令人困惑)。如果您有任何问题,请随时发表意见。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class Example {
    static HashMap<String, String> map = new HashMap<>();
    public static void main(String[] args) {
        //The value from the first pair is the key for the second.
        map.put("Key 1", "Value 1");
        map.put("Value 1", "Value 2"); 

        //Prints: Value 2
        System.out.println(map.get(map.get("Key 1")));
    }
}

如果您一定要使键/值不同,唯一的方法就是使用两个不同的映射,某种程度上遵循相同的过程:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class Example {
    static HashMap<String, String> map = new HashMap<>();
    static HashMap<String, Integer> secondMap = new HashMap();
    public static void main(String[] args) {
        //The value from the first pair is the key for the second.
        map.put("Key 1", "Value 1");
        map.put("Value 1", 5); 

        //Prints: 5
        System.out.println(map.get(map.get("Key 1")));
    }
}

希望这能有所帮助!

票数 0
EN

Stack Overflow用户

发布于 2018-04-07 09:45:57

尝试使用Map作为第一个Map的值。示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
final Map<String,Map<String,String>> doubleKeyMap = new HashMap<>();
final Map<String,String> secondMap = new HashMap<>();
secondMap.put(secondKey, somevalue);
doubleKeyMap.put(mainKey, secondMap);

final String value = doubleKeyMap.get(firstKey).get(secondKey);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49604389

复制
相关文章
pycharm调试远程主机_eclipse连接远程服务器
1.首先下载pycharm专业版,路径自寻,这边就不细说了。(社区版不支持远程配置) 2.获取服务器的IP和密码 3.打开pycharm,点击菜单栏 :工具tools—>部署deployment–>configuration
全栈程序员站长
2022/09/28
3.7K0
pycharm调试远程主机_eclipse连接远程服务器
服务器远程连接/ssh方式连接教程(linux云主机远程登录)
Linux主机如何远程登录?建议使用ssh工具。使用Ssh连接登录的时候,需要先下载ssh登录客户端,下载安装完成之后可以进行Linux云主远程登录。
chenzhouliyan
2019/08/06
21.7K0
Adb connection Error:远程主机强迫关闭了一个现有的连接
遇到这个问题呢,首先尝试拔掉数据线,然后重启adb,即点击DDMS视图中的reset adb,或者cmd中输入adb kill-server和adb start-server,最后连接数据线,发现大多数情况下并没什么卵用,然后试过多次之后发现,想砸电脑!啊哈哈~ 下面教大家一个终极解决办法:
Zachary46
2018/09/12
2.7K0
Adb connection Error:远程主机强迫关闭了一个现有的连接
在WiFi关闭状态连接已保存网络流程
WiFi关闭状态下在SavedNetwork界面点击CONNECT按钮,WiFI会自动打开并连接,下面是代码流程(本文档主要分析Settings层的逻辑,Framework层主要会用到打开wifi和连接的API,这里不做分析): android/packages/apps/Settings/res/values/strings.xml Connect
用户7557625
2020/07/15
1.6K0
在allow_url_fopen关闭下读取远程文件
在PHP开发时,读取文件的时候,我们想到的第一个方法是file_get_contents和fopen,但使用这两个方法,需要开启allow_url_fopen,在服务器上配置开启了allow_url_fopen,会存在安全性隐患,所以服务器建议关闭allow_url_fopen,那么,在关闭这个的情况下,我们该怎样读取远程文件内容呢?
Petrochor
2022/06/07
9210
python学习笔记(7)——远程主机强迫关闭了一个现有的连接
python socket.error: [Errno 10054] 远程主机强迫关闭了一个现有的连接。问题解决方案:
my_sunshine
2020/09/17
39.6K0
Python远程连接主机之paramiko模块
Python的paramiko模块能够连接远程主机,并在该主机上执行命令,和该主机之间进行文件传输。paramiko支持用明文密码登录远程主机和秘钥登录。使用之前要安装一下这个模块哈,pip install paramiko,不会安装可以百度哈。
用户1432189
2018/09/05
2.4K0
Python远程连接主机之paramiko模块
linux性能调优(整理)
为什么要性能调优? 大部分的linux发行版是为了完全兼容市场中大部分计算机而设计的。这是一个相当混杂的硬件集合(硬盘,显卡,网卡,等等)。所以Red Hat, Suse,Mandriva和其他的一些发行版厂商选择了一些保守的设置来确保安装成功。 简单地说:你的发行版运行的很好,但是它可以运行地更好! 比如,可能有一个具体一些特殊特性的高级硬盘,而这些特性在标准配置的情况下可能就没被启用。 磁盘子系统的调优 对于Linux的Ext3/4来说,几乎在所有情况下都有所帮助的一个参数是关闭文件系统访问时间,在/
小小科
2018/05/03
7.6K0
linux性能调优(整理)
Unexpected EOF 远程主机强迫关闭了一个现有的连接 如何处理
尝试百度了不少方法,如time.sleep(1),response.close(),socket.setdefaulttimeout(20)。
dongfanger
2020/09/23
2.5K0
Nginx代理WebSocket方法
前一篇文章讲了一下什么是WebSocket协议,这里在回顾一下,并且聊一聊如何用nginx来代理WebSocket。
没有故事的陈师傅
2022/04/05
5.9K0
cos上传文件报错:ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
python方法调用cos api向cos上传文件时,报错:ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
用户8216114
2022/08/19
2.9K0
运维面试题(面前准备)
(以下内容是我从网上查找整理得到的…红色标注为面试提及的,但不一定是我整理的内容)
全栈程序员站长
2022/07/01
1.4K0
运维面试题(面前准备)
在高PR值的网站中怎么获得导入连接
这几天忙着在给公司的年会做策划,真累呀,每年的沈阳·K友汇都是公司一个大项目,所以投入的精力还是比较大的,前几天谈论了一个站长要做到是持之以恒,坚持不懈得到了需要朋友的认可,很高兴,今天谈谈关于在高PR的网站上获得导入连接的几个方法;
李洋博客
2021/06/15
2.1K0
在高PR值的网站中怎么获得导入连接
[Pycharm] 远程连接服务器
File->Settings->Project->Python Interpreter
全栈程序员站长
2022/09/27
9.8K0
[Pycharm] 远程连接服务器
连接服务器shell窗口关闭导致程序中断,让程序在linux后台运行nohup
CUDA_VISIBLE_DEVICES=1 nohup python -u 文件名.py --文件参数 > flush.log 2>&1 &
水球喵子
2018/10/09
2.7K0
连接服务器shell窗口关闭导致程序中断,让程序在linux后台运行nohup
java Socket与ServerSocket 详解
我们知道两个进程如果需要进行通讯最基本的一个前提能能够唯一的标示一个进程,在本地进程通讯中我们可以使用PID来唯一标示一个进程,但PID只在本地唯一,网络中的两个进程PID冲突几率很大,这时候我们需要另辟它径了,我们知道IP层的ip地址可以唯一标示主机,而TCP层协议和端口号可以唯一标示主机的一个进程,这样我们可以利用ip地址+协议+端口号唯一标示网络中的一个进程。
Java编程指南
2019/08/02
1.6K0
java Socket与ServerSocket 详解
为什么TCP建立连接协议是三次握手,而关闭连接却是四次握手呢?
看到了一道面试题:“为什么TCP建立连接协议是三次握手,而关闭连接却是四次握手呢?为什么不能用两次握手进行连接?”,想想最近也到金三银四了,所以就查阅了相关资料,整理出来了这篇文章,希望对你们有所帮助。
平头哥的技术博文
2020/01/08
7820
在Linux服务器、客户端之间构建密钥对验证进行远程连接
客户端:192.168.1.10 zhangsan用户 服务端:192.168.1.20 lisi用户 在客户端中创建密钥对:
小手冰凉
2019/09/10
1.6K0
在Linux服务器、客户端之间构建密钥对验证进行远程连接
让vscode在远程连接服务器时候如本地般顺滑地debug(Python)
【GaintPandaCV导读】本文主要分享了python语言的使用vscode在远程连接服务器的debug,可以通过launch.json来传入python脚本的参数,这样就能够在该情况下用vscode调试,操作跟vscode在本地调试一样
BBuf
2021/07/01
13.2K0
让vscode在远程连接服务器时候如本地般顺滑地debug(Python)
Linux运维工程师面试题(2)
三次握手的目的是确保两端的序列号同步,并且双方都可以发送和接收数据。如果第一次握手失败,客户端会重复发送SYN包;如果第二次握手失败,服务器也会重复发送SYN+ACK包;如果第三次握手失败,客户端会重新发送ACK包。
阿贤Linux
2023/08/24
3520
Linux运维工程师面试题(2)

相似问题

javax.net.ssl.SSLHandshakeException:使用JMeter进行负载测试时握手期间远程主机关闭的连接

21

我收到javax.net.ssl.SSLHandshakeException:握手期间远程主机关闭连接

21

javax.net.ssl.SSLHandshakeException:握手支持期间的远程主机关闭连接

23

javax.net.ssl.SSLHandshakeException:在小程序中握手期间远程主机关闭的连接

23

FTPSClient抛出异常javax.net.ssl.SSLHandshakeException:握手期间远程主机关闭连接

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文