package com.example.mybatisplus.MyCloneable;
import java.util.*;
public class demo1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
List<String> stringList = new ArrayList<>();
for (int i = 0; i < n; i++) {
stringList.add(scanner.next());
}
// 使用 Map 来统计每种图书的个数
Map<String, Integer> bookCountMap = new HashMap<>();
for (String book : stringList) {
if (bookCountMap.containsKey(book)) {
// 如果图书已经在 map 中存在,增加其计数
int count = bookCountMap.get(book);
bookCountMap.put(book, count + 1);
} else {
// 如果图书不在 map 中,添加并设置计数为 1
bookCountMap.put(book, 1);
}
}
//输出Map中键的个数
Set<String> keys = bookCountMap.keySet();
System.out.println(keys.size());
// 遍历 Map 并输出图书的种类和个数
for (Map.Entry<String, Integer> entry : bookCountMap.entrySet()) {
String book = entry.getKey();
int count = entry.getValue();
System.out.println(book + " " + count);
}
}
}
输出如下所示:
5
C语言程序设计
JAVA
数据结构
JAVA
数据结构
3
JAVA 2
C语言程序设计 1
数据结构 2