视频直播app源码,将内容推荐给平台内的好友

视频直播app源码,将内容推荐给平台内的好友实现的相关代码

引入依赖✧配置✧工具类

 

1
<properties><br>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><br>    <maven.compiler.source>1.8</maven.compiler.source><br>    <maven.compiler.target>1.8</maven.compiler.target><br>    <!-- Hadoop版本控制 --><br>    <hadoop.version>3.1.2</hadoop.version><br>    <!-- commons-io版本控制 --><br>    <commons-io.version>2.4</commons-io.version><br>  </properties><br>  <dependencies><br>    <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common --><br>    <dependency><br>      <groupId>org.apache.hadoop</groupId><br>      <artifactId>hadoop-common</artifactId><br>      <version>${hadoop.version}</version><br>    </dependency><br>    <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-hdfs --><br>    <dependency><br>      <groupId>org.apache.hadoop</groupId><br>      <artifactId>hadoop-hdfs</artifactId><br>      <version>${hadoop.version}</version><br>    </dependency><br>    <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client --><br>    <dependency><br>      <groupId>org.apache.hadoop</groupId><br>      <artifactId>hadoop-client</artifactId><br>      <version>${hadoop.version}</version><br>    </dependency><br>    <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-mapreduce-client-common --><br>    <dependency><br>      <groupId>org.apache.hadoop</groupId><br>      <artifactId>hadoop-mapreduce-client-common</artifactId><br>      <version>${hadoop.version}</version><br>    </dependency><br>    <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-mapreduce-client-core --><br>    <dependency><br>      <groupId>org.apache.hadoop</groupId><br>      <artifactId>hadoop-mapreduce-client-core</artifactId><br>      <version>${hadoop.version}</version><br>    </dependency><br>    <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-mapreduce-client-jobclient --><br>    <dependency><br>      <groupId>org.apache.hadoop</groupId><br>      <artifactId>hadoop-mapreduce-client-jobclient</artifactId><br>      <version>${hadoop.version}</version><br>    </dependency><br>    <!-- https://mvnrepository.com/artifact/commons-io/commons-io --><br>    <dependency><br>      <groupId>commons-io</groupId><br>      <artifactId>commons-io</artifactId><br>      <version>${commons-io.version}</version><br>    </dependency><br>    <dependency><br>      <groupId>com.janeluo</groupId><br>      <artifactId>ikanalyzer</artifactId><br>      <version>2012_u6</version><br>    </dependency><br></dependencies>

工具类FriendRandomUtil

 

1
/**<br> * 随机生成好友列表<br> */<br>public class FriendRandomUtil {<br>    public static void main(String[] args) throws IOException {<br>        //读取学生信息<br>        List<String> studentList = FileUtils.readLines(new File(FriendRandomUtil.class.getResource("/students.txt").getPath()));<br>        //创建好友列表映射关系<br>        Map<String, Set<String>> friendMap = studentList.stream().collect(Collectors.toMap(e -> e, e -> new HashSet<>()));<br>        //开始计算<br>        for (String student : friendMap.keySet()) {<br>            //使用蓄水池算法获取随机好友<br>            List<String> sampleList = FriendRandomUtil.reservoirSampling(studentList, new Random().nextInt(30) + 10);<br>            //将list中选出的自己删除掉<br>            sampleList.remove(student);<br>            //将数据添加到set<br>            friendMap.get(student).addAll(sampleList);<br>            //同时将当前学生添加到对方的好友<br>            for (String friend : sampleList) {<br>                friendMap.get(friend).add(student);<br>            }<br>        }<br>        //打印好友信息<br>        for (String student : friendMap.keySet()) {<br>            System.out.print(student + "\t");<br>            friendMap.get(student).stream().forEach(e -> System.out.print(e + "\t"));<br>            System.out.println();<br>        }<br>    }<br>    /**<br>     * 蓄水池抽样算法<br>     *<br>     * @param studentList<br>     * @param num<br>     * @return<br>     */<br>    public static List<String> reservoirSampling(List<String> studentList, int num) {<br>        //定义数据的蓄水池<br>        List<String> sampleList = studentList.subList(0, num);<br>        //开始进行抽样<br>        for (int i = num; i < studentList.size(); i++) {<br>            //从0-j中随机出一个数<br>            int r = new Random().nextInt(i);<br>            if (r < num) {<br>                //如果随机出的r<水池大小 ,则进行替换<br>                sampleList.set(r, studentList.get(i));<br>            }<br>        }<br>        return sampleList;<br>    }<br>}

 

以上就是 视频直播app源码,将内容推荐给平台内的好友实现的相关代码,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(219)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示