我有一个文本文件,我正在尝试将其读入一个hashmap。我的问题是我试图用这些词作为键。我四处寻找,找不到解决办法。
所以基本上如果我有一个文本文件"text.txt"
包含这个:"This is a sentence."
我想制作第一个键为"This"
且值为{{1}的单词的哈希映射}}。然后下一个键是{"is", "a", "sentence."}
,其值为"is"
,依此类推,直到每个单词都被用作键。
答案 0 :(得分:1)
你可以这样做:
String input = "This is a sentence.";
String[] split = input.split(" ");
Map<String, String[]> map = new HashMap<>(split.length - 1);
for (int i = 0; i < split.length - 1; i++) {
int remainderLength = split.length - 1 - i;
String[] remainders = new String[remainderLength];
System.arraycopy(split, i + 1, remainders, 0, remainderLength);
map.put(split[i], remainders);
}
在空格上拆分字符串,迭代直到最后一个,然后将条目放在HashMap
中。
如果您希望最后一个单词映射到空数组:
for (int i = 0; i < split.length; i++) {
int remainderLength = split.length - 1 - i;
String[] remainders = new String[remainderLength];
if (remainderLength > 0) {
System.arraycopy(split, i + 1, remainders, 0, remainderLength);
}
map.put(split[i], remainders);
}