• 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;
              }
             }
            });
    
           }
    

      

  • 相关阅读:
    系统提示MSVCR71.DLL缺失
    loadrunner11脚本录制乱码、控制台乱码
    性能测试之-脚本录制、web_url、web_submit_data
    tomcat启动报错排查
    环境配置问题
    python函数应用
    问题记录
    性能测试学习10_场景设计(二)
    性能测试学习09_场景设计(一)
    性能测试学习08_脚本编写总结
  • 原文地址:https://www.cnblogs.com/sunxun/p/4464226.html
Copyright © 2020-2023  润新知