1 数据
冒号左边为用户id,冒号右边为用户的好友列表
A:B,C,D,F,E,O
B:A,C,E,K
C:F,A,D,I
D:A,E,F,L
E:B,C,D,M,L
F:A,B,C,D,E,O,M
G:A,C,D,E,F
H:A,C,D,E,O
I:A,O
J:B,O
K:A,C,D
L:D,E,F
M:E,F,G
O:A,H,I,J
2 需求
求出有共同好友的用户对,及他们的共同好友,如:
A与B,有共同好友C,E
A与C,有共同好友D
.......
3 步骤分析
假如社交数据存储在本地的文件中
1 读取数据信息2 对获取的每行数据处理,按照“:”号切分,左侧为用户id,右侧是当前用户对应的好友列表(再按照“,”号切分好友列表)3 将用户和器对应的好友列表存放在map这种集合类型中,(用户id作为key,其对应的好友列表作为value【list】) 4 求出任意两个用户的共同好友的交集,求list的交集
4 使用到的技术点
IO读取文件信息,字符串切割,List和map集合存储数据和常用方法
5 代码实现
一 读取文件数据获取用户和器对应的好友列表 Map>
publicstaticMap> getUserInfo() {
Map>map=newHashMap<>();
try(BufferedReaderbr