老师,取到的shoplist页面的店铺展示在店铺同一优先级下,前端显示是不是顺序可能会不一样?是HashMap导致的么?

来源:6-8 店铺列表展示前端开发

yikemi

2018-03-09

写回答

1回答

翔仔

2018-03-09

同学好,你说的是店铺优先级相同的情况下,可能会出现不一样的排序结果吗。如果是这个意思,并不是HashMap导致,而是咱们sql order by priority desc的时候,如果priority相同,就会按照每次数据库不同的策略去找到店铺,所以顺序可能会不一样。

若强迫症要解决这个疑惑:

  1. 从业务上解决,即确保priority是不一样的,因为实际执行过程中我们在管理员后台审批之后会赋予他们优先级,这样方便做竞价排名

  2. 从技术上解决,可以在 order by priority desc 之后 加上 order by priority desc, shopId asc :) 这样就能保证次序一致了:)

0
3
翔仔
回复
yikemi
虽然现在没办法细究它是如何排序的,但是我们已知的算法如下 选择排序复杂度为n*n,不稳定排序, 快速排序复杂度为n*n,不稳定排序, 希尔排序复杂度为nlogn,不稳定排序, 堆排序复杂度为nlogn,不稳定排序。 复杂度均为O,万变不离其宗,其使用的排序如果出现同值但是排序出来的结果不同的情况,应该也是用了其中的原理,同学感兴趣可以去研究一下,然后把研究的结论在这里同步一下我们一起学习
2018-03-13
共3条回复

Java双版本(SSM到SpringBoot)校园商铺全栈开发

SSM商铺V1.0,解决毕设痛点;SpringBoot商铺V2.0,满足工作刚需

5113 学习 · 8144 问题

查看课程