public class Main {\n public static void main(String[] args) {\n String ds = "导演:吴京,导演:贾玲,导演:饺子,导演:郭帆,导演:陈思诚,导演:安东尼·罗素/乔·罗素,导演:林超贤,导演:陈思诚,导演:周星驰,导演:陈凯歌/张一白/管虎/薛晓路/徐峥/宁浩/文牧野,导演:管虎,导演:文牧野,导演:刘伟强,导演:宁浩/徐峥/陈思诚/闫非/彭大魔/邓超/俞白眉,导演:F·加里·格雷,导演:闫非/彭大魔,导演:许诚毅,导演:温子仁,导演:安东尼·罗素/乔·罗素,导演:许诚毅,导演:宋阳/张吃鱼,导演:宁浩,导演:温子仁,导演:迈克尔·贝,导演:田羽生,导演:鲁本·弗雷斯彻,导演:唐季礼,导演:韩寒,导演:詹姆斯·卡梅隆,导演:陈国辉,导演:J·A·巴亚纳,导演:乌尔善,导演:徐克,导演:徐峥,导演:程腾/李炜,导演:曾国祥,导演:迈克尔·贝,导演:拜伦·霍华德/瑞奇·摩尔/杰拉德·布什,导演:邓肯·琼斯,导演:乔斯·韦登,导演:闫非/彭大魔,导演:大卫·雷奇,导演:韩延,导演:冯小刚,导演:科林·特雷沃罗,导演:乔·沃茨,导演:史蒂文·斯皮尔伯格,导演:林诣彬,导演:刘若英,导演:黄渤";\n // 使用HashSet保存导演名,以去重\n Set directorSet = new HashSet<>();\n // 使用HashMap保存导演名和对应的电影数量\n Map<String, Integer> directorMap = new HashMap<>();\n // 使用ArrayList保存具有多个导演的影片名\n List movieList = new ArrayList<>();\n // 将字符串按逗号,分割成电影数组\n String[] movies = ds.split(",");\n for (String movie : movies) {\n // 使用斜杠/分割电影中的导演\n String[] directors = movie.split("/");\n // 如果电影有多个导演,则将电影名加入到movieList中\n if (directors.length > 1) {\n movieList.add(movie);\n }\n for (String director : directors) {\n // 提取导演名\n String directorName = director.substring(3);\n // 将导演名加入到directorSet中\n directorSet.add(directorName);\n // 更新导演名对应的电影数量\n directorMap.put(directorName, directorMap.getOrDefault(directorName, 0) + 1);\n }\n }\n // 打印具有多个导演的影片名\n System.out.println("具有多个导演的影片名:");\n for (String movie : movieList) {\n System.out.println(movie);\n }\n // 打印一共出现了多少个导演名\n int directorCount = directorSet.size();\n System.out.println("一共出现了 " + directorCount + " 个导演名");\n // 打印参演了多个电影的导演名和电影数量\n System.out.println("参演了多个电影的导演名和电影数量:");\n for (String director : directorMap.keySet()) {\n int movieCount = directorMap.get(director);\n if (movieCount > 1) {\n System.out.println(director + ":" + movieCount + " 部电影");\n }\n }\n }\n}

Java 字符串与集合操作:统计电影导演和参演电影数量

原文地址: https://www.cveoy.top/t/topic/qcCs 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录