慕無忌1623718
2023-12-13 14:26:04
我有一個(gè)電影對(duì)象列表,其中包含標(biāo)題、制片人、導(dǎo)演、演員和發(fā)行年份。我需要找到給定導(dǎo)演執(zhí)導(dǎo)的電影。然后將所有找到的電影存儲(chǔ)在地圖中,使用導(dǎo)演作為鍵,電影標(biāo)題作為值。我想出了以下代碼,但它沒有找到任何電影,但實(shí)際上數(shù)據(jù)有幾部電影是由給定導(dǎo)演執(zhí)導(dǎo)的。String directors = "Wes Craven,John Carpenter,Alfred Hitchcock";String[] st = directors.split(",");Map<String,List<String>> map = data.stream() .filter(movie -> movie.getDirectors().contains(st[0]) && movie.getDirectors().contains(st[1]) && movie.getDirectors().contains(st[2])) .collect(Collectors.toMap(Movie::getTitle),m-> m.getDirectors());map.forEach((m,n) -> System.out.println(m+" : "+n));
1 回答

叮當(dāng)貓咪
TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊
如果沒有額外的信息,很難判斷出了什么問題。不過,我建議您執(zhí)行以下操作來解決您的問題:
添加一個(gè)
hasDirector(String)
方法,Movie
返回true
電影是否有給定的導(dǎo)演添加單元測(cè)試以確保其有效
添加一個(gè)
hasAllDirectors(String[])
方法,Movie
返回true
電影是否包含所有給定導(dǎo)演的信息添加單元測(cè)試以確保其有效
將您的代碼隱藏
movieList.stream().filter(m -> m.hasAllDirectors(directorArray))
到directoryArray
String[]
添加單元測(cè)試以確保其有效
如果仍然不起作用,請(qǐng)返回此論壇
添加回答
舉報(bào)
0/150
提交
取消