From a686940f88317688ca22b686fc6a4c1bdcb44569 Mon Sep 17 00:00:00 2001 From: tarzan Date: Tue, 7 Feb 2023 15:42:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/tarzan/recommend/core/ItemCF.java | 2 -- src/main/java/com/tarzan/recommend/core/UserCF.java | 5 ++++- 2 files changed, 4 insertions(+), 3 deletions(-) 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()); //指定用户看过电影列表