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

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

近日就有一位Java程序员写了一段有序集合代码,可是却不知道出了什么问题,总是运行出错!
在这里插入图片描述
在这里插入图片描述
这段代码调用了私有制的private,然后用int型的数据类型分别定义两个集合的对象,之后在用s和v标记了List1集合和List2集合的偏移, 然后进入循坏,之后判断输出他们的交集,总体的格式就是这样的。
在这里插入图片描述
有网友认为,这段代码的问题非常多,代码中不仅加了那么多临时变量,而且还用while,这样会产生异常的,因为根本求不出正确的交集!可是这位程序员很不解,代码逻辑没有什么问题,而且也可以求的出正确的交集,只是会丢失掉最后一个交集变量而已。
在这里插入图片描述
有网友给出解释:这已经不是集合的问题了,而是线性表,因为可能会出现重复的元素,List可能是链表,是要用到迭代器的,而且还可能访问不到最后一个元素,而从整体角度来看,这个方法应该是“返回”而不是用“打印”,因为交集是单独的功能,List也没有保证是有序的,需要靠外部逻辑来保证。
在这里插入图片描述
在日常的工作和学习中,经常会出现这样的情况,我们提高自己技术的同时,很忽略这样偏理论性的知识,这样造成的错误往往是比较严重的,所以在动手敲代码之余,可不要忘记巩固自己的理论知识。

猜你喜欢

转载自blog.csdn.net/qq_43202482/article/details/83790160