Java 怎么处理这种情况

2020-08-28 08:23:57 +08:00
 ebony0319
比如 1 列表里面有 a,b,c.2 里面有 b,c,。3 里面有 a,c.现在需要从 a,b,c 角度来统计。
a 存在的有 1,3 ; b 存在的有 1,2 ; c 存在的有 1,2,3.
1590 次点击
所在节点    问与答
10 条回复
kannbala
2020-08-28 08:29:27 +08:00
这跟 Java 有啥关系?
ebony0319
2020-08-28 08:32:46 +08:00
@kannbala 说算法就可以了。如果 java 有这种数据结构最好了。
FieldFarmer
2020-08-28 08:38:55 +08:00
弄个 HashMap,key 是 a,b,c 等,value 是 ArrayList,遍历 1,2,3 列表挨个 push,最后按 key 可以得到存在列表
sampeng
2020-08-28 08:57:59 +08:00
@ebony0319 极度讨厌这种问题,这还要问?自己想 ok ?
fdgdbr
2020-08-28 09:06:37 +08:00
guava 的 multimap
zr8657
2020-08-28 09:47:28 +08:00
https://github.com/tvvocold/How-To-Ask-Questions-The-Smart-Way
你这种问题建议去百度知道提问
ebony0319
2020-08-28 10:07:05 +08:00
@fdgdbr 应该这个可以满足 80%需求,谢谢老哥.
ebony0319
2020-08-28 10:07:37 +08:00
@zr8657
@sampeng 麻烦两位大佬回答问题前先审题好么
lqw3030
2020-08-28 11:34:50 +08:00
遍历,O(n),伸手都不咋受待见可能哈所以没啥回复
ebony0319
2020-08-28 12:12:28 +08:00
@sampeng
@zr8657
@lqw3030 我不知道怎么跟你们描述具体的业务。之前就是用的 map<integer,list<integer>>,但是处理具体业务时候极其难用,在从不同纬度统计时候又非常恶心,效率低下。各位大佬可以看下上面提及的 multimap 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/702071

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX