是否有代码可以在散列表中找到特定的值?我想使用for循环将散列表中的值转换为int。
for (int i = 0; i < items; i++) { cost = Integer.parseInt(myHashmap); }
我甚至可以在散列表上使用.parseInt吗?或者有没有其他方法可以将散列表中的位置转换为int?像String[3]一样,有没有代码可以在散列表中找到特定的位置?
String[3]
v8wbuo2f1#
要迭代Map的所有值,请使用values方法:
values
Map<Long, String> map = ...; for (final String value = map.values()) { System.out.println(value); }
要查找特定值,请迭代所有值,检查 predicate ,如果找到则返回:
String findValue(final Map<Long, String> map, final Predicate<String> condition) { for (final String value = map.values()) { if (condition.test(value)) { return value; } } return null; }
要查找给定值的键,请迭代Map的 entry set:
Long findKey(final Map<Long, String> map, final String value) { for (final Map.Entry<Long, String> entry = map.entrySet()) { if (Objects.equals(entry.getValue(), value)) { return entry.getKey(); } } return null; }
当然,一旦你有了一个值(或者键),你就可以用任何你喜欢的方式来使用它,包括把它作为参数传递给Integer.parseInt。
Integer.parseInt
zu0ti5jz2#
myHashmap.values()将返回Map的所有值。Integer.parseInt(value)将String参数解析为有符号十进制整数对象。
myHashmap.values()
Map
Integer.parseInt(value)
public static void main(String[] args) { Map<String, String> myHashmap = new HashMap<>(); myHashmap.put("A", "10"); myHashmap.put("B", "20"); myHashmap.put("C", "30"); myHashmap.values().forEach(value -> { System.out.println(Integer.parseInt(value)); // Rest of the logic }); }
2条答案
按热度按时间v8wbuo2f1#
要迭代Map的所有值,请使用
values
方法:要查找特定值,请迭代所有值,检查 predicate ,如果找到则返回:
要查找给定值的键,请迭代Map的 entry set:
当然,一旦你有了一个值(或者键),你就可以用任何你喜欢的方式来使用它,包括把它作为参数传递给
Integer.parseInt
。zu0ti5jz2#
myHashmap.values()
将返回Map
的所有值。Integer.parseInt(value)
将String参数解析为有符号十进制整数对象。