Java 定制化排序

Java 定制化排序,第1张

Java 定制化排序 项目场景:

根据部门进行排序,部门信息表不给加字段,无序且部门信息可能随时变动,要求自定义顺序排序

问题描述:

这里在处理变动的无序数据进行排序的时候是个难点

	try {
			//根据获取的无序数据data 通过sql自定义排序条件(id)
			String[] str = MyTools.instance.getStringList("select data from tabname where data in ("+data+") decode(id,'1',1,'2',2,'3',3),id");
			for (int i = 0; i < str.length; i++) {
				//再通过for循环遍历塞入到有序list
				list.add(str[i]);
			}
			//塞入对象中排序
			//传入跳转页面排序
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

解决方案:

通过条件获取到要排序的数据,通过sql的decode函数进行表的主键id排序,自定义id排序的顺序,再将排序后的数据塞回有序的list中,再传入页面展示顺序,这样即使数据发生变化也会按照主键自定义的顺序进行排序,不包含在排序中的或新增的部门自动排在后面,删除的部门也不影响现有的排序,本人亲测有效,在这里分享给大家,希望我的分享能够帮助到你!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4670784.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存