如何在 java 中的地图或关联数组中使用变量
how to use variables in maps or associative array in java
问题:
我有 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");
但它似乎不在地图中存储整数。当我在我的代码中尝试这个时:
System.out.println(map.get("val1"));
我得到 null
作为输出。
我的代码:
我的代码太长了,我不能贴在这里,但我可以解释其中的一部分。实际上这 3 个整数是随机数,所以每次它们都有不同的值。
Random rand = new Random();
int val1= rand.nextInt(101);
然后我需要将它们与 IP 相关联。然后找到最大整数并在其余代码中使用其 IP:
int maxnum = Math.max(val3, Math.max(val1, val2));
map.get(maxnum);
如何解决问题并实现?
你希望你的整数是 keys
,但是你构建了一个 Map
,其中键类型是 String
: Map<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"
问题:
我有 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");
但它似乎不在地图中存储整数。当我在我的代码中尝试这个时:
System.out.println(map.get("val1"));
我得到 null
作为输出。
我的代码:
我的代码太长了,我不能贴在这里,但我可以解释其中的一部分。实际上这 3 个整数是随机数,所以每次它们都有不同的值。
Random rand = new Random();
int val1= rand.nextInt(101);
然后我需要将它们与 IP 相关联。然后找到最大整数并在其余代码中使用其 IP:
int maxnum = Math.max(val3, Math.max(val1, val2));
map.get(maxnum);
如何解决问题并实现?
你希望你的整数是 keys
,但是你构建了一个 Map
,其中键类型是 String
: Map<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"