java如何统计
Java统计方法
在Java中,统计可以通过多种方式实现,具体取决于统计的对象和需求。以下是几种常见的统计方法:
统计字符串中字符出现的次数
使用HashMap可以方便地统计字符串中每个字符出现的次数:
String str = "example";
Map<Character, Integer> charCountMap = new HashMap<>();
for (char c : str.toCharArray()) {
charCountMap.put(c, charCountMap.getOrDefault(c, 0) + 1);
}
System.out.println(charCountMap);
统计集合中元素的频率
Collections.frequency方法可以统计集合中某个元素的出现次数:

List<String> list = Arrays.asList("a", "b", "a", "c");
int frequency = Collections.frequency(list, "a");
System.out.println(frequency); // 输出2
统计文件中的行数
使用BufferedReader可以逐行读取文件并统计行数:
int lineCount = 0;
try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
while (reader.readLine() != null) {
lineCount++;
}
}
System.out.println("Total lines: " + lineCount);
统计数组中的最大值和最小值
通过遍历数组可以找到最大值和最小值:

int[] numbers = {5, 3, 8, 1, 4};
int max = Arrays.stream(numbers).max().getAsInt();
int min = Arrays.stream(numbers).min().getAsInt();
System.out.println("Max: " + max + ", Min: " + min);
统计单词出现频率
对于文本中的单词统计,可以先将文本分割为单词数组,然后使用HashMap进行统计:
String text = "hello world hello java";
String[] words = text.split("\\s+");
Map<String, Integer> wordCount = new HashMap<>();
for (String word : words) {
wordCount.put(word, wordCount.getOrDefault(word, 0) + 1);
}
System.out.println(wordCount);
使用Java 8 Stream API进行统计
Stream API提供了更简洁的方式进行各种统计:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
long count = numbers.stream().count();
int sum = numbers.stream().mapToInt(Integer::intValue).sum();
Double average = numbers.stream().mapToInt(Integer::intValue).average().orElse(0);
IntSummaryStatistics stats = numbers.stream().mapToInt(Integer::intValue).summaryStatistics();
System.out.println("Count: " + count + ", Sum: " + sum + ", Average: " + average);
System.out.println("Stats: " + stats);
这些方法涵盖了Java中常见的统计需求,可以根据具体场景选择合适的方法。






