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