共同好友(java)
来源:互联网 发布:机械设计学什么软件 编辑:程序博客网 时间:2024/05/09 18:38
查询两个用户的共同好友(例如两个QQ用户)
例如有两个用户,他们分别有一个好友集,user1friends和user2friends,分别放到set集合中
import java.util.Set;import java.util.TreeSet;public class SameFriends { public static Set<Integer> intersection(Set<Integer> user1friends,Set<Integer> user2friends){ //判断用户的好友是否为空 if((user1friends == null) || user1friends.isEmpty()){ return null; } if((user2friends == null) || user2friends.isEmpty()){ return null; } //判断好友数量,以用来做性能优化 if(user1friends.size() < user2friends.size()){ return intersect(user1friends, user2friends); }else{ return intersect(user2friends, user1friends); } } public static Set<Integer> intersect(Set<Integer> smallset,Set<Integer> largeset){ Set<Integer> result = new TreeSet<Integer>(); //迭代处理小集合来提高性能 for (Integer x : smallset) { if(largeset.contains(x)){ result.add(x); } } return result; }}
测试
import java.util.Iterator;import java.util.Set;import java.util.TreeSet;public class Test1 { public static void main(String[] args) { Set<Integer> user1friends = new TreeSet<Integer>(); Set<Integer> user2friends = new TreeSet<Integer>(); //用户1创建9个好友,为10,20,30...... for (int i = 1; i < 10; i++) { user1friends.add(i*10); } //用户2创建9个好友,为5,10,15...... for (int i = 1; i < 10; i++) { user2friends.add(i*5); } Set<Integer> result = SameFriends.intersection(user1friends, user2friends); Iterator<Integer> it = result.iterator(); while (it.hasNext()) { System.out.println((it.next())); } }}
输出结果为:
10203040
阅读全文
0 0
- 共同好友(java)
- 共同好友
- 共同好友
- mapreduce系列(7)--查找共同好友
- 寻找共同好友(hadoop解决方案)
- 社交网络中的共同好友计算(一度好友与二度好友)
- 共同好友mysql
- MapReducer-找共同好友
- MapReduce:共同好友
- Mapreduce实例---共同好友
- MapReduce寻找共同好友
- MapReduce找共同好友
- MapReduce找共同好友
- MapReduce分析共同好友
- Hadoop/Spark推荐系统(一)——共同好友
- 推荐好友和共同好友sql
- 获取QQ好友共同好友列表信息
- Hadoop demo 找出共同好友
- Linux下编译运行C程序
- linux 服务
- 栈的基本用法
- PHP字符串学习
- js和jq判断select是否选中、获取select选中的值
- 共同好友(java)
- ListView的Choice模式
- android中的图像矩阵变换Matrix的所有方法
- 查询学生成绩
- 5.7_背景的滚动
- 在eclipse中导入JavaWeb项目却成了普通Java项目解决方法
- Android 快速开发SharedPrefs工具类
- Hadoop HA模式升级配置
- ReactiveCocoa之实现篇