Arrays和比较器

一,Arrays

import java.util.Arrays;


public class ArraysDemo {

 public static void main(String[] args)
 {
  int[] i1={1,2,3,4,5,6};
  int[] i2={6,5,4,3,2,1};
  //数组排序,默认为升序
  Arrays.sort(i2);
  //数组比较
  System.out.println(Arrays.equals(i1,i2));
  //将数组i2的内容全部填充为3
  Arrays.fill(i2,3);
  //输出数组数据
  System.out.println(Arrays.toString(i2));
 }
 
}

二,比较器

在Arrays类中定义了一个方法,可以直接为一个对象数组进行排序:

public static void sort();

比较器要实现Comparable接口,其中有一个方法ComparaTo()方法

public interface Comparable<T>

{

 int compareTo(T to);

}

关于compareTo()方法的返回值有三种类型:小于:-1;等于:0;大于:1;

import java.util.Arrays;


class Student implements Comparable<Student>
{
  private String name;
  private int age;
  public Student(String name,int age)
  {
 this.name=name;
 this.age=age;
  }
  public String toString()
  {
   return "姓名:"+this.name+"年龄:"+this.age;
  }
  public int compareTo(Student stu)
  {
 if(this.age>stu.age)
 {
  return 1;
 }else if(this.age<stu.age)
 {
  return -1;
 }else{
  return 0;
 }
  }
}

public class CompareDemo {

 public static void main(String args[])
 {
  Student stu[]={
    new Student("张三",3),
          new Student("李四",5),
          new Student("王五",45)
  };
  Arrays.sort(stu);
  for(Student s:stu)
  {
   System.out.println(s);
  }
 }
 
}

原文地址:https://www.cnblogs.com/jinzhengquan/p/1947475.html