Brief Description array sorting

javascript

Array own sort function can be custom ordered according to an ordering

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

java

If there is a set of complex data types need to sort, the two treatments

Comparator defined by a comparator

  1. The definition of a Person class
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. Defined comparator
public class PersonComparator implements Comparator<Person> {

	@Override
	public int compare(Person o1, Person o2) {
		return o1.getAge() - o2.getAge();
	}
}
  1. Sequence
List<Person> list = new ArrayList<Person>();
Collections.sort(list, new PersonComparator());

Complex data class inheritance Comprable Rewrite comparison method

  1. Complex data type override 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. Sequence
List<Person> list = new ArrayList<Person>();
Collections.sort(list);

Guess you like

Origin www.cnblogs.com/pengsn/p/12667435.html