Hashtable <string,integer []> myhash = new Hashtable(); </string,integer []>

时间:2014-01-20 14:53:02

标签: java arrays object hashtable

我想知道是否可以这样做:

Hashtable<String,Integer[]> myhash =new Hashtable();

其中String是一个单词,整数[]将是一个两个位置的数组,第一个,行号和第二个是该单词的次数。

但我真的不知道怎么做put操作。

myhash.put(word, new Integer(n_line,n_times));??

它不起作用,但你会怎么做?

谢谢

3 个答案:

答案 0 :(得分:4)

要将新的整数数组放入表中,请使用myhash.put(word, new Integer[]{ n_line,n_times});

但是,我建议为该值创建一个新对象,例如

//Note that I ommitted stuff like modifiers, constructors etc. for simplicity's sake
//In most cases you'd want to expand that class and add what's missing (left to you as an excercise)
class WordCounter {
  int lines;
  int time;
}

Hashtable<String,WordCounter > myhash =new Hashtable<>();

作为旁注,请注意HashtableHashMap慢,因为它会同步访问权限,因此除非您需要这种确切的行为,否则您可以尝试使用HashMap或{{ 1}}而不是。

答案 1 :(得分:3)

尝试

myhash.put(word, new Integer[] {n_line,n_times});

btw Hashtable是一个遗留类,改为使用HashMap

答案 2 :(得分:1)

Integer[] arr = new Integer[]{n_line,n_times};
myhash.put(word, arr);