JAVA这代码哪里有问题?

qq_28484955 2019-09-10 02:46:27
public static void main(String[] args) { ArrayList<String> a=new ArrayList<String>(); ArrayList<String> b=new ArrayList<String>(); a.add("1,2,3,4,5,6,7"); a.add("1,3,9,4,5,6,8"); a.add("1,3,4,5,6,7,8"); a.add("1,2,3,4,7,8,9"); a.add("1,7,3,8,7,8,10"); a.add("1,2,3,4,6,7,8"); a.add("1,2,3,4,5,6,7"); a.add("11,12,13,14,15,16,17"); b.add("1,2"); b.add("5,6"); for(int i=1;i<a.size();i=i+1){ List l2=new ArrayList<String>(); List l1=new ArrayList<String>(); l1.add(a.get(i-1)); l2.add(a.get(i)); System.out.println(l1+"l1前"); System.out.println(l2+"l2"); l1.retainAll(l2); System.out.println(l1+"l1后"); } } 最后结果为什么L1后的结果会是空的呢?
...全文
68 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qybao 2019-09-10
  • 打赏
  • 举报
回复
引用 3 楼 qq_28484955 的回复:
[quote=引用 2 楼 qybao的回复:]LZ要达到什么目的?
retainAll是取交集,如果没有交集,当然就是空了

有交集的!为什么变成空了![/quote]
你这是个字符串,怎么会有交集,你要把字符串变为集合
即 下面代码修改
l1.addAll(Arrays.asList(a.get(i-1).split(","))); //把字符串按逗号分割变成一个集合,否则,两个字符串不相同,不会有交集的
l2.addAll(Arrays.asList(a.get(i).split(",")));
qq_28484955 2019-09-10
  • 打赏
  • 举报
回复
引用 1 楼 oh_Maxy的回复:
我记得我给你设计的是 for(int i=1;i<a.size();i=i+2) // i=i+2
i+2不对,取的不是相邻两天数据!
qq_28484955 2019-09-10
  • 打赏
  • 举报
回复
引用 2 楼 qybao的回复:
LZ要达到什么目的?
retainAll是取交集,如果没有交集,当然就是空了
有交集的!为什么变成空了!
qybao 2019-09-10
  • 打赏
  • 举报
回复
LZ要达到什么目的?
retainAll是取交集,如果没有交集,当然就是空了
oh_Maxy 版主 2019-09-10
  • 打赏
  • 举报
回复
我记得我给你设计的是 for(int i=1;i<a.size();i=i+2) // i=i+2

51,397

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧