zoukankan      html  css  js  c++  java
  • 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);
      }
     }
     
    }

  • 相关阅读:
    盛最多水的容器
    寻找2个有序数组的中位数
    从链表中删除总和值为0的连续节点
    链表中的下一个更大节点
    链表的中间节点
    循环有序链表的插入
    设计链表
    链表组件
    扁平化多级双向链表
    将二叉搜索数转化为排序的双向链表
  • 原文地址:https://www.cnblogs.com/jinzhengquan/p/1947475.html
Copyright © 2011-2022 走看看