zoukankan      html  css  js  c++  java
  • 4.19Java.util.Arrays类

    4.19Java.util.Arrays类

    JDK提供的工具类

    Arrays类包含的内容

    • 排序

    • 查找

    • 填充

    • 打印内容

    • ...


    打印内容
    package com.array;

    import java.util.Arrays;

    /**
    * 测试Java.util.Arrays工具类的使用
    * @author Lucifer
    */
    public class TestArrays {
       public static void main(String[] args) {

           int[] a = {10,20,30};

           System.out.println(a); //返回的是哈希码---地址的编码

           System.out.println(Arrays.toString(a)); //返回数组内容,而且和之前的Object.toString是两码事,Arrays.toString是静态的方法,帮助我们打印处内容---源码
      }
    }
    排序---方法:Arrays.sort();
    package com.array;

    import java.lang.reflect.Array;
    import java.util.Arrays;

    /**
    * 测试Java.util.Arrays工具类的使用
    * @author Lucifer
    */
    public class TestArrays {
       public static void main(String[] args) {
           
           /*Arrays排序方法*/
           //冒泡排序????直接上方法
           int[] b = {99,88,100,200,3291,485};

           Arrays.sort(b);

           System.out.println(Arrays.toString(b));
      }
    }

    数组元素是引用类型的排序(Comparable接口的应用)---用到排序需要实现到Comparable接口

    自定义类,根据年龄排序

    package com.array;

    import java.util.Arrays;

    /**
    * 测试数组元素引用数据类型的排序(涉及到实现的接口)
    * @author Lucifer
    */
    public class TestArraysInterface {
       public static void main(String[] args) {

      }
    }

    /*定义数组元素类*/
    class Man implements Comparable{
       int age;
       int id;
       String name;

       /*类的构造器*/
       public Man(int age, String name){
           super();
           this.age = age;
           this.name = name;
      }

       /*toString方法*/
       public String toString(){
           return this.name;
      }
       /*
       这个是Object类里面的toString方法,说明Object实现了Comparable接口
        */

       /**
        * 重写接口的抽象方法
        * @param o
        * @return
        */
       @Override
       public int compareTo(Object o){
           Man man = (Man) o; //强制转型,目标对象
           if (this.age < man.age){
               return -1;
          }

           if (this.age > man.age){
               return 1;
          }

           return 0;
      }
    }

    容器章节会详细说明

    查找---二分法查找
    package com.array;

    import java.lang.reflect.Array;
    import java.util.Arrays;

    /**
    * 测试Java.util.Arrays工具类的使用
    * @author Lucifer
    */
    public class TestArrays {
       public static void main(String[] args) {

           /*Arrays打印内容方法*/
           int[] a = {10,20,30};

           System.out.println(a); //返回的是哈希码---地址的编码

           System.out.println(Arrays.toString(a)); //返回数组内容,而且和之前的Object.toString是两码事,Arrays.toString是静态的方法,帮助我们打印处内容---源码

           /*Arrays排序方法*/
           //冒泡排序????直接上方法
           int[] b = {99,88,100,200,3291,485};

           Arrays.sort(b);

           System.out.println(Arrays.toString(b));

           /*Arrays二分法查找*/
           //方法---binarySearch
           System.out.println(Arrays.binarySearch(a,30));
           /*
           查询a数组里面的30这个数在哪个索引位置
            */

           //如果查询的元素不在返回-1
           System.out.println(Arrays.binarySearch(a,-30));
      }
    }

     

    It's a lonely road!!!
  • 相关阅读:
    2020重新出发,MySql基础,MySql用户管理
    2020重新出发,MySql基础,MySql字符集
    2020重新出发,MySql基础,MySql事务
    python全栈day10
    python全栈day9
    python全栈day8
    python全栈day7
    python全栈day6
    python全栈day5
    python全栈day4
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14678605.html
Copyright © 2011-2022 走看看