Ответ 1
Просто позвоните get
:
HashMap<String, String> map = new HashMap<String, String>();
map.put("x", "y");
String value = map.get("x"); // value = "y"
Как искать ключ в HashMap
? В этой программе, когда пользователь вводит ключ, код должен организовать поиск хешмапа для соответствующего значения, а затем распечатать его.
Скажите, пожалуйста, почему он не работает.
import java.util.HashMap;
import java.util.; import java.lang.;
public class Hashmapdemo
{
public static void main(String args[])
{
String value;
HashMap hashMap = new HashMap();
hashMap.put( new Integer(1),"January" );
hashMap.put( new Integer(2) ,"February" );
hashMap.put( new Integer(3) ,"March" );
hashMap.put( new Integer(4) ,"April" );
hashMap.put( new Integer(5) ,"May" );
hashMap.put( new Integer(6) ,"June" );
hashMap.put( new Integer(7) ,"July" );
hashMap.put( new Integer(8),"August" );
hashMap.put( new Integer(9) ,"September");
hashMap.put( new Integer(10),"October" );
hashMap.put( new Integer(11),"November" );
hashMap.put( new Integer(12),"December" );
Scanner scan = new Scanner(System.in);
System.out.println("Enter an integer :");
int x = scan.nextInt();
value = hashMap.get("x");
System.out.println("Value is:" + value);
}
}
Просто позвоните get
:
HashMap<String, String> map = new HashMap<String, String>();
map.put("x", "y");
String value = map.get("x"); // value = "y"
Вы написали
HashMap hashMap = new HashMap();
...
int x = scan.nextInt();
value = hashMap.get("x");
должен быть:
Map<Integer, String> hashMap = new HashMap<Integer, String>();
...
int x = scan.nextInt();
value = hashMap.get(x);
EDIT или без дженериков, как указано в комментариях:
int x = scan.nextInt();
value = (String) hashMap.get(new Integer(x));
//Если вы хотите, чтобы ключ был целым, вам нужно объявить hashmap//, как показано ниже:
HashMap<Integer, String> map = new HashMap<Integer, String>();
map.put(0, "x");
map.put(1, "y");
map.put(2, "z");
//введите целочисленное значение x
String value = map.get(x);