视频直播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源码,将内容推荐给平台内的好友实现的相关代码,更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现