diff --git a/src/main/java/com/tarzan/recommend/core/ItemCF.java b/src/main/java/com/tarzan/recommend/core/ItemCF.java index dfa5e97..40add26 100644 --- a/src/main/java/com/tarzan/recommend/core/ItemCF.java +++ b/src/main/java/com/tarzan/recommend/core/ItemCF.java @@ -1,11 +1,9 @@ package com.tarzan.recommend.core; import com.tarzan.recommend.dto.RelateDTO; -import org.assertj.core.util.Lists; import java.util.*; import java.util.stream.Collectors; -import java.util.stream.IntStream; /** * 核心算法 diff --git a/src/main/java/com/tarzan/recommend/core/UserCF.java b/src/main/java/com/tarzan/recommend/core/UserCF.java index ce552e4..b92fa65 100644 --- a/src/main/java/com/tarzan/recommend/core/UserCF.java +++ b/src/main/java/com/tarzan/recommend/core/UserCF.java @@ -32,7 +32,10 @@ public class UserCF { double maxValue=Collections.max(userDisMap.values()); Set userIds=userDisMap.entrySet().stream().filter(e->e.getValue()==maxValue).map(Map.Entry::getKey).collect(Collectors.toSet()); //取关系最近的用户 - Integer nearestUserId = userIds.stream().findAny().get(); + Integer nearestUserId = userIds.stream().findAny().orElse(null); + if(nearestUserId==null){ + return Collections.emptyList(); + } //最近邻用户看过电影列表 List neighborItems = userMap.get(nearestUserId).stream().map(RelateDTO::getItemId).collect(Collectors.toList()); //指定用户看过电影列表