Java 哈希表中的空对象

Java 哈希表中的空对象,java,Java,当我尝试map.get(k)哈希表中的索引时,它返回null,并且想知道它是否是我的csv到哈希表的代码 public static void main(String[] args) throws ParseException, IOException { BufferedReader br = new BufferedReader(new FileReader("primes.csv")); String line = null; Hashtable<Stri

当我尝试
map.get(k)
哈希表中的索引时,它返回
null
,并且想知道它是否是我的csv到哈希表的代码

public static void main(String[] args) throws ParseException, IOException {

    BufferedReader br = new BufferedReader(new FileReader("primes.csv"));
    String line =  null;
    Hashtable<String, String> map = new Hashtable<String, String>(100);

    while((line = br.readLine()) != null){
        String str[] = line.split(",");

        map.put(str[0], str[1]);
    }
    br.close();
    System.out.println(map);

    int k;

    k = Integer.parseInt(JOptionPane.showInputDialog(f,"Enter an integer k whee"
            + " 3 < k < 1229: "));

    while (k <= 3 || k >= 1229){
       k = Integer.parseInt(JOptionPane.showInputDialog(f,"Sorry try again: "));
    }

    JOptionPane.showMessageDialog(f, "The "+ k +"th prime number is " + map.get(k));

}   
publicstaticvoidmain(字符串[]args)抛出ParseException、IOException{
BufferedReader br=新的BufferedReader(新文件读取器(“primes.csv”);
字符串行=null;
哈希表映射=新哈希表(100);
而((line=br.readLine())!=null){
字符串str[]=line.split(“,”);
map.put(str[0],str[1]);
}
br.close();
系统输出打印项次(map);
int k;
k=Integer.parseInt(JOptionPane.showInputDialog)(f,“输入整数k whee”
+“3
我的csv文件还包含

1,1(下一行)

2,2(下一行)

3,3(下一行)

4、5(下一行)

5、7等等


您在地图中使用
String
键,并希望使用
Integer
键从地图中检索对象:

String str[] = line.split(",");
...
map.put(str[0], str[1]);
...
int k;
...
map.get(k);
这是不可能的。
equals()
而言,它们并不相等。
因此,在这两种情况下,使用与密钥相同的类型。
例如,要在这两种情况下都使用
String
,请通过以下方式更改
get()
调用:

map.get(String.valueOf(k));
此外,
Hashtable
是一个线程安全类(效率也不高)。
您不需要在代码示例中使用此功能。
一个
HashMap
就足够了。

您在地图中使用
String
键,并且希望使用
Integer
键从地图中检索对象:

String str[] = line.split(",");
...
map.put(str[0], str[1]);
...
int k;
...
map.get(k);
这是不可能的。
equals()
而言,它们并不相等。
因此,在这两种情况下,使用与密钥相同的类型。
例如,要在这两种情况下都使用
String
,请通过以下方式更改
get()
调用:

map.get(String.valueOf(k));
此外,
Hashtable
是一个线程安全类(效率也不高)。
您不需要在代码示例中使用此功能。
一个HashMap就足够了。

请正确设置代码的格式请正确设置代码的格式谢谢你,我也这么认为,但是教授需要一个hashtable不客气。真遗憾。谢谢你,我也有同样的想法,但是教授需要一个哈希表,不客气。真遗憾。当你拿到东西的时候,它对你来说很好。