• 主页
  • Java SE
  • J2ME
  • Web开发
  • Java EE
  • Eclipse

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后的结果会是空的呢?
...全文
30 点赞 收藏 5
写回复
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
回复 点赞
发动态
发帖子
Java
创建于2007-09-28

1.8w+

社区成员

8.1w+

社区内容

Java相关技术讨论
社区公告
暂无公告