java使用collections排序任意字段list排序list集合排序

//外层按岗位编号排序
			Collections.sort(list2, new Comparator<BssxGWSearch>() {
				@Override
				public int compare(BssxGWSearch o1, BssxGWSearch o2) {
					//正序
					return (int) (Integer.parseInt(o1.getGwbh())-Integer.parseInt(o2.getGwbh()));
				}
			});
Collections.sort(list, new Comparator<DailyScheWorkCount>() {
				@Override
				public int compare(DailyScheWorkCount o1, DailyScheWorkCount o2) {
					//按实际累积时长正序
					if (!xx.isEmpty(order) && order.equals("sjljsc")) {
						return (int) (o1.getSjljsc()-o2.getSjljsc());
					}
					//按实际累积时长倒序
					if (!xx.isEmpty(order) && order.equals("sjljsc desc")) {
						return (int) (o2.getSjljsc()-o1.getSjljsc());
					}
					//按实际人均出勤时长正序
					if (!xx.isEmpty(order) && order.equals("sjrjsc")) {
						return (int) (o1.getSjrjsc()-o2.getSjrjsc());
					}
					//按实际人均出勤时长倒序
					if (!xx.isEmpty(order) && order.equals("sjrjsc desc")) {
						return (int) (o2.getSjrjsc()-o1.getSjrjsc());
					}
					//按上岗率正序sgl
					if (!xx.isEmpty(order) && order.equals("sgl")) {
						double o1Sgl = Double.parseDouble(o1.getSgl().substring(0, o1.getSgl().length()-1));
						double o2Sgl = Double.parseDouble(o2.getSgl().substring(0, o2.getSgl().length()-1));
						return (int) (o1Sgl - o2Sgl);
					}
					//按上岗率倒序
					if (!xx.isEmpty(order) && order.equals("sgl desc")) {
						double o1Sgl = Double.parseDouble(o1.getSgl().substring(0, o1.getSgl().length()-1));
						double o2Sgl = Double.parseDouble(o2.getSgl().substring(0, o2.getSgl().length()-1));
						return (int) (o2Sgl - o1Sgl);
					}
					return 1;
				}
			});
Collections.sort(list, new Comparator<WorkStatisticsOfPoliceResult>() {
				@Override
				public int compare(WorkStatisticsOfPoliceResult o1, WorkStatisticsOfPoliceResult o2) {
					//按实际累积时长正序
					if (!xx.isEmpty(order) && order.equals("sjljsc")) {
						if (o1.getSjljsc()>o2.getSjljsc()) {
							return 1;
						}else if (o1.getSjljsc()<o2.getSjljsc()) {
							return -1;
						}
					}
					//按实际累积时长倒序
					if (!xx.isEmpty(order) && order.equals("sjljsc desc")) {
						if (o2.getSjljsc()>o1.getSjljsc()) {
							return 1;
						}else if (o2.getSjljsc()<o1.getSjljsc()) {
							return -1;
						}
					}
					//按实际累积时长正序
					if (!xx.isEmpty(order) && order.equals("jhljsc")) {
						if (o1.getJhljsc()>o2.getJhljsc()) {
							return 1;
						}else if (o1.getJhljsc() < o2.getJhljsc()) {
							return -1;
						}
					}
					//按实际累积时长倒序
					if (!xx.isEmpty(order) && order.equals("jhljsc desc")) {
						if (o2.getJhljsc()>o1.getJhljsc()) {
							return 1;
						}else if (o2.getJhljsc() < o1.getJhljsc()) {
							return -1;
						}
					}
					//按上岗率正序sgl
					if (!xx.isEmpty(order) && order.equals("sgl")) {
						double o1Sgl = Double.parseDouble(o1.getSgl().substring(0, o1.getSgl().length()-1));
						double o2Sgl = Double.parseDouble(o2.getSgl().substring(0, o2.getSgl().length()-1));
						if (o1Sgl>o2Sgl) {
							return 1;
						}else if (o1Sgl < o2Sgl) {
							return -1;
						}
					}
					//按上岗率倒序
					if (!xx.isEmpty(order) && order.equals("sgl desc")) {
						double o1Sgl = Double.parseDouble(o2.getSgl().substring(0, o2.getSgl().length()-1));
						double o2Sgl = Double.parseDouble(o1.getSgl().substring(0, o1.getSgl().length()-1));
						if (o1Sgl>o2Sgl) {
							return 1;
						}else if (o1Sgl < o2Sgl) {
							return -1;
						}
					}
					return 0;
				}
			});

猜你喜欢

转载自blog.csdn.net/qq_36421955/article/details/95312612