62,614
社区成员
发帖
与我相关
我的任务
分享
HashMap<String, Integer> word_pos_freq = new HashMap<String, Integer>();
String[] word_pos = { "book_nn",
"take_vb",
"book_nn",
"book_nn",
"good_adj",
"well_adv",
"book_vb",
"well_adv",
"book_vb",
"well_adv",
"well_adv" };
for (int i = 0; i < word_pos.length; i++) {
word_pos_freq.put(word_pos[i], word_pos_freq.containsKey(word_pos[i])?word_pos_freq.get(word_pos[i]) + 1
: 1);
}
for (Map.Entry<String, Integer> e:word_pos_freq.entrySet()) {
String[] word_pos_temp = e.getKey().split("_");
System.out.println(word_pos_temp[0]+"_"+word_pos_temp[1]+"_"+e.getValue());
}
take_vb_1
good_adj_1
book_vb_2
well_adv_4
book_nn_3
class Words{
private String word;//单词
private String pos;//单词的词性
/**带参构造函数,传入word_pos,初始化word和POS属性
* @param word_pos 单词_词性
* */
public Words(String word_pos){
String[] temp = word_pos.split("_");
this.word= temp[0];
this.pos=temp[1];
}
/**
* 获取单词
* */
public String getWord(){
return this.word;
}
/**
* 获取单词的词性
* */
public String getPOS(){
return this.pos;
}
}
public static void main(String[] args) {
String[] word_pos = { "book_nn",
"take_vb",
"good_adj",
"well_adv",
"book_nn",
"well_adv",
"well_adv",
"well_adv" };
HashMap<Words, Integer> word_pos_freq = new HashMap<Words, Integer>();
for (int i = 0; i < word_pos.length; i++) {
NestHashMapTest.Words w = new NestHashMapTest().new Words(
word_pos[i]);
word_pos_freq.put(w, word_pos_freq.containsKey(w) ? word_pos_freq
.get(w) + 1 : 1);
}
for (Map.Entry<Words, Integer> e : word_pos_freq.entrySet()) {
System.out.println(e.getKey().getWord()+"_"+e.getKey().getPOS()+"_"+e.getValue());
}
}
}
well_adv_1
take_vb_1
book_nn_1
well_adv_1
good_adj_1
well_adv_1
book_nn_1
well_adv_1
well_adv_4
take_vb_1
book_nn_2
good_adj_1
NestHashMapTest.Words w = new NestHashMapTest().new Words(
word_pos[i]);