如何在地图或Java中的关联数组中使用变量

问题描述 投票:0回答:1

问题:我有3个整数值。

integer val1 = 23 ;  
integer val2 = 14 ;   
integer val3 = 6;  

我需要将它们与IP关联。所以我尝试了

Map<String, String> map = new HashMap<String, String>();
map.put("val1", "192.168.100.100");
map.put("val2", "192.168.100.101");
map.put("val3", "192.168.100.102");   

但是似乎它没有在map中存储整数。当我在代码中尝试使用此方法时:

  System.out.println(map.get("val1"));

我得到null作为输出。

我的代码:我的代码很长,我无法粘贴在这里,但我可以解释其中的一部分。实际上,这3个整数是随机数,因此每次它们都有不同的值。

  Random rand = new Random();
  int val1= rand.nextInt(101);

然后,我需要将它们与IP关联。然后找到最大整数并在其余代码中使用其IP:

  int maxnum = Math.max(val1, val2 , val3);
  map.get(maxnum);  

如何解决问题并实现这一目标?

java ip max associative-array
1个回答
0
投票

[您希望整数为keys,但是您建立了一个Map,其中密钥类型为StringMap<String, String>,并且您看到提供了"val1",因为密钥为string,不同之处在于val1指向此处的变量Integer

Integer val1 = 23 ;  
Integer val2 = 14 ;   
Integer val3 = 6;  

Map<Integer, String> map = new HashMap<>();
map.put(val1, "192.168.100.100");
map.put(val2, "192.168.100.101");
map.put(val3, "192.168.100.102"); 

System.out.println(map.get(val1)); // "192.168.100.100"
System.out.println(map.get(23));   // "192.168.100.100"
© www.soinside.com 2019 - 2024. All rights reserved.