在我们刚开始学习编程的时候,会出现一些“细节”上的错误,这些错误可能并不是我们代码中有错误,而是对于一些概念还不清楚所导致的,然而编程偏偏又是一个需要严谨的技术活,所以这些细节上的失误就会造成程序运行出错! 在分享这篇文章之前呢,我先分享下我总结的一些干货,我自己也是一位从事了6年开发的全栈工程师,今年年初我整理了一份最适合2018年学习的ja va干货,都是免费的,关注小编大鱼号,私信【学习】即可。 近日就有一位Java程序员写了一段有序集合代码,可是却不知道出了什么问题,总是运行出错!
这段代码调用了私有制的private,然后用int型的数据类型分别定义两个集合的对象,之后在用s和v标记了List1集合和List2集合的偏移, 然后进入循坏,之后判断输出他们的交集,总体的格式就是这样的。
有网友认为,这段代码的问题非常多,代码中不仅加了那么多临时变量,而且还用while,这样会产生异常的,因为根本求不出正确的交集!可是这位程序员很不解,代码逻辑没有什么问题,而且也可以求的出正确的交集,只是会丢失掉最后一个交集变量而已。
有网友给出解释:这已经不是集合的问题了,而是线性表,因为可能会出现重复的元素,List可能是链表,是要用到迭代器的,而且还可能访问不到最后一个元素,而从整体角度来看,这个方法应该是“返回”而不是用“打印”,因为交集是单独的功能,List也没有保证是有序的,需要靠外部逻辑来保证。
领取专属 10元无门槛券
私享最新 技术干货