当前位置: 首页 > news >正文

Java中List的排序和List的MAp

 

这里是一个类中类去实现条件优先排序的问题

package com.sun;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class Demo {

	public Demo() {
		// TODO Auto-generated constructor stub
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		int a= 0;
		Dob db  = new Dob();
		Dob db1  = new Dob();
		Dob db2  = new Dob();
		db.setName("sun");
		db.setAge(20);
		db.setSex(3);
		
		db1.setName("zhi");
		db1.setAge(22);
		db1.setSex(1);
		
		db2.setName("yan");
		db2.setAge(21);
		db2.setSex(2);
		List<Dob> as = new ArrayList<Dob>();
		System.out.println("as="+as.size());
		as.add(db);
		as.add(db1);
		as.add(db2);
		
		 Collections.sort(as, new Comparator<Dob>() {
//比较。如果年龄不同先比较年龄 ,相同就比较性别
	            public int compare(Dob arg0, Dob arg1) {
	            	int flg = arg0.getAge().compareTo(arg1.getAge());
	            	if(flg==0){
	            		 return arg0.getSex().compareTo(arg1.getSex());
	            	}else{
	            		 return arg0.getAge().compareTo(arg1.getAge());
	            	}
	               
	            }

	        });
		
		
		for (Dob p : as) {
            System.out.println(p.getName());
            System.out.println(p.getAge());
        }
		
System.out.println("as="+as.size());

	}


}
	class Dob {
		public String  name;

		public Integer age;

		public Integer sex;



		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		public Integer getAge() {
			return age;
		}
		public void setAge(Integer age) {
			this.age = age;
		}
		public Integer getSex() {
			return sex;
		}
		public void setSex(Integer sex) {
			this.sex = sex;
		}

}

  LIst中的MAp

 public void listSort(List<Map<String,Object>> resultList) throws Exception{
        // resultList是需要排序的list,其内放的是Map
        // 返回的结果集
        Collections.sort(resultList,new Comparator<Map<String,Object>>() {

         public int compare(Map<String, Object> o1,Map<String, Object> o2) {

          //o1,o2是list中的Map,可以在其内取得值,按其排序,此例为升序,s1和s2是排序字段值
             //String FileNumber = GetFileKeyNumber(fileInfo.getKey(),2,2);

             Map.Entry<String, Object>  fileInfo1 = null;
             Map.Entry<String, Object>  fileInfo2 = null;
             Integer s1 = 0;
             Integer s2 = 0;
             Iterator<Map.Entry<String, Object>> fileMap = o1.entrySet().iterator();
             while (fileMap.hasNext()) {
               fileInfo1 = fileMap.next();
               s1 = Integer.parseInt(GetFileKeyNumber(fileInfo1.getValue().toString(),2,2));
             }

             Iterator<Map.Entry<String, Object>> fileMap2 = o2.entrySet().iterator();
             while (fileMap2.hasNext()) {
               fileInfo2 = fileMap2.next();
               s2 = Integer.parseInt(GetFileKeyNumber(fileInfo2.getValue().toString(),2,2));
             }

          if(s1>s2) {
           return 1;
          }else {
           return -1;
          }
         }
        });

       }

  

相关文章:

  • 二十二,数学运算相关的类
  • javascript中的this
  • Github Pages 静态网页建站
  • 2301: [HAOI2011]Problem b
  • poj 1251 统计难题(字典树)
  • uploadify.js参数说明(转)
  • MongoDB高可用架构:Replica Sets+Sharding
  • 实验二 Java面向对象程序设计
  • Linq之求和,平均值,最大值,最小值
  • Android 中文API (70) —— BluetoothDevice[蓝牙]
  • 动态数组排序实例
  • Nginx 反向代理、负载均衡与动静分离
  • [裴礼文数学分析中的典型问题与方法习题参考解答]4.4.9
  • 贪心 URAL 1303 Minimal Coverage
  • 使用JS或jQuery模拟鼠标点击a标签事件代码
  • Angularjs之国际化
  • const let
  • CSS 三角实现
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • Java知识点总结(JavaIO-打印流)
  • Js基础知识(一) - 变量
  • laravel5.5 视图共享数据
  • nodejs:开发并发布一个nodejs包
  • opencv python Meanshift 和 Camshift
  • swift基础之_对象 实例方法 对象方法。
  • tensorflow学习笔记3——MNIST应用篇
  • Vue.js源码(2):初探List Rendering
  • 关于extract.autodesk.io的一些说明
  • 使用API自动生成工具优化前端工作流
  • 双管齐下,VMware的容器新战略
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • Spring第一个helloWorld
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​虚拟化系列介绍(十)
  • !!Dom4j 学习笔记
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #pragma data_seg 共享数据区(转)
  • (16)Reactor的测试——响应式Spring的道法术器
  • (20050108)又读《平凡的世界》
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (接口封装)
  • (七)Java对象在Hibernate持久化层的状态
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (推荐)叮当——中文语音对话机器人
  • (学习日记)2024.02.29:UCOSIII第二节
  • (转)linux 命令大全
  • (转)shell调试方法
  • .net FrameWork简介,数组,枚举
  • .net 微服务 服务保护 自动重试 Polly
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .NetCore项目nginx发布
  • .vue文件怎么使用_vue调试工具vue-devtools的安装
  • @Repository 注解
  • [.net]官方水晶报表的使用以演示下载
  • [2019.2.28]BZOJ4033 [HAOI2015]树上染色