Java程序员一段有序集合代码,却不知有啥问题:求帮忙看看

如果有正在学java的程序员,可来我们的java技术学习扣qun哦:78537,9357,小编花了近一个月整理了一份非常适合18年学习的java干货,加入就免费送java的视频教程噢!而且我每天晚上都会在里面直播讲Java知识,从零基础学习到有基础进阶,欢迎初学和进阶中的小伙伴。

在我们刚开始学习编程的时候,会出现一些“细节”上的错误,这些错误可能并不是我们代码中有错误,而是对于一些概念还不清楚所导致的,然而编程偏偏又是一个需要严谨的技术活,所以这些细节上的失误就会造成程序运行出错!

近日就有一位Java程序员写了一段有序集合代码,可是却不知道出了什么问题,总是运行出错!

这段代码调用了私有制的private,然后用int型的数据类型分别定义两个集合的对象,之后在用s和v标记了List1集合和List2集合的偏移, 然后进入循坏,之后判断输出他们的交集,总体的格式就是这样的。

有网友认为,这段代码的问题非常多,代码中不仅加了那么多临时变量,而且还用while,这样会产生异常的,因为根本求不出正确的交集!可是这位程序员很不解,代码逻辑没有什么问题,而且也可以求的出正确的交集,只是会丢失掉最后一个交集变量而已。

有网友给出解释:这已经不是集合的问题了,而是线性表,因为可能会出现重复的元素,List可能是链表,是要用到迭代器的,而且还可能访问不到最后一个元素,而从整体角度来看,这个方法应该是“返回”而不是用“打印”,因为交集是单独的功能,List也没有保证是有序的,需要靠外部逻辑来保证。

在日常的工作和学习中,经常会出现这样的情况,我们提高自己技术的同时,很忽略这样偏理论性的知识,这样造成的错误往往是比较严重的,所以在动手敲代码之余,可不要忘记巩固自己的理论知识。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181106A1APGB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券