怎么用JAVA来处理这件事
时间: 2023-09-20 07:10:24 浏览: 45
要使用JAVA来处理这个问题,你需要执行以下步骤:
1. 读取文件:使用JAVA的文件读取API,例如BufferedReader,从文件中读取数据并将其存储在内存中。
2. 解析数据:使用JAVA的字符串处理API,例如StringTokenizer或String.split(),将数据分割为单独的单词或行。
3. 统计单词:使用JAVA的Map接口来存储每个单词的计数。遍历每个单词并将其添加到Map中,如果单词已经在Map中,则将其计数增加1。
4. 排序结果:使用JAVA的排序API,例如Collections.sort(),将Map中的数据按照计数值排序。
5. 输出结果:使用JAVA的输出API,例如System.out.println(),将结果打印到控制台或写入文件中。
以下是一个示例代码,用于处理文件中单词的计数:
```
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;
public class WordCount {
public static void main(String[] args) {
Map<String, Integer> wordCount = new HashMap<>();
try (BufferedReader reader = new BufferedReader(new FileReader("input.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
String[] words = line.split("\\s+");
for (String word : words) {
wordCount.put(word, wordCount.getOrDefault(word, 0) + 1);
}
}
} catch (IOException e) {
e.printStackTrace();
}
List<Map.Entry<String, Integer>> sortedEntries = new ArrayList<>(wordCount.entrySet());
Collections.sort(sortedEntries, (e1, e2) -> e2.getValue().compareTo(e1.getValue()));
for (Map.Entry<String, Integer> entry : sortedEntries) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
}
```
在这个例子中,我们首先使用BufferedReader读取文件中的数据,并使用split()函数将每一行分割成单独的单词。然后,我们使用HashMap来存储每个单词的计数。最后,我们使用Collections.sort()函数将Map中的数据按照计数值排序,并使用System.out.println()函数将结果打印到控制台上。