zoukankan      html  css  js  c++  java
  • 浅述数组排序

    javascript

    数组自带的函数sort可以根据自定义的排序器排序

    function compare(v1, v2) {
    	return v1-v2;
    } 
    var values = [4,1,2,5,3];
    var vv = values.sort(compare);
    console.info(vv);
    

    java

    如果有一个复杂数据类型的集合需要排序时,处理方式有两种

    用Comparator定义一个比较器

    1. 定义一个Person类
    public class Person {
    
    	private String name;
    
    	private int age;
    
    	public Person(String name, int age) {
    		super();
    		this.name = name;
    		this.age = age;
    	}
    
    	public Person() {
    		super();
    	}
    
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	public int getAge() {
    		return age;
    	}
    
    	public void setAge(int age) {
    		this.age = age;
    	}
    }
    
    1. 定义比较器
    public class PersonComparator implements Comparator<Person> {
    
    	@Override
    	public int compare(Person o1, Person o2) {
    		return o1.getAge() - o2.getAge();
    	}
    }
    
    1. 排序
    List<Person> list = new ArrayList<Person>();
    Collections.sort(list, new PersonComparator());
    

    复杂数据类继承Comprable 重写比较方法

    1. 复杂数据类重写compareTo(O)
    public class Person implements Comparable<Person>{
    
    	private String name;
    
    	private int age;
    
    	public Person(String name, int age) {
    		super();
    		this.name = name;
    		this.age = age;
    	}
    
    	public Person() {
    		super();
    	}
    
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	public int getAge() {
    		return age;
    	}
    
    	public void setAge(int age) {
    		this.age = age;
    	}
    
    	@Override
    	public int compareTo(Person o) {
    		return o.getAge()-this.getAge();
    	}
    }
    
    1. 排序
    List<Person> list = new ArrayList<Person>();
    Collections.sort(list);
    
  • 相关阅读:
    mysql常用命令
    Navicat连接MySQL数据库出现 ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded
    java——Spring(3)
    java———Spring(2)(补充)
    Java——Spring(1)
    Struts2框架(2)
    Struts2框架(1)
    java——Mybatis(2)
    java——MyBatis(1)
    java——Hibernate(2)
  • 原文地址:https://www.cnblogs.com/pengsn/p/12667435.html
Copyright © 2011-2022 走看看