我想知道我应该使用哪种方法来搜索数组中的元素以及存储返回值的数据结构
例如一个 txt 文件包含以下内容
123名线月夜桌
124笑哭狗
123报价线制作宠物桌
127线阵hello桌
并且搜索元素是 line+table 我将每一行作为字符串读取,然后被空格溢出
输出应该是这样的
123 2(包含搜索元素的 ID 123 出现两次)
127 1
我想要一些关于搜索数组中元素的方法以及存储返回值的数据结构(ID和出现次数。我在考虑hashmap)的一些建议
我想知道我应该使用哪种方法来搜索数组中的元素以及存储返回值的数据结构
例如一个 txt 文件包含以下内容
123名线月夜桌
124笑哭狗
123报价线制作宠物桌
127线阵hello桌
并且搜索元素是 line+table 我将每一行作为字符串读取,然后被空格溢出
输出应该是这样的
123 2(包含搜索元素的 ID 123 出现两次)
127 1
我想要一些关于搜索数组中元素的方法以及存储返回值的数据结构(ID和出现次数。我在考虑hashmap)的一些建议
读取文本文件并将以 table 结尾的每一行存储在ArrayList<String>
. 然后对中的每个元素使用 contains ArrayList<String>
。将结果存储在HashMap<key,value>
其中 key 是 ID 并且 value 是 Integer 的地方,表示 ID 出现的次数。
首先,我会逐行阅读文件,除此之外真的没有别的办法。
其次,要选择要保存的行,您不需要进行拆分(假设:它们都以(空格)表结尾)。您可以使用以下方法获取它们:
if (line.endsWith(" table"))
然后,我建议使用Map<String, Integer>
数据类型来存储您的信息。这样,您就有了表的编号(键)以及在文件中找到的次数(值)。
Map<String, Integer> map = new HashMap<String, Integer>();
....reading file....
if (line.endsWith(" table")) {
String number = line.substring(0, line.indexOf(" "))
if (!map.containsKey(number)) {
map.put(number, 1);
} else {
Integer value = map.get(number);
value++;
map.put(number, value);
}
}