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!!!
  • 相关阅读:
    Bit Manipulation
    218. The Skyline Problem
    Template : Two Pointers & Hash -> String process
    239. Sliding Window Maximum
    159. Longest Substring with At Most Two Distinct Characters
    3. Longest Substring Without Repeating Characters
    137. Single Number II
    142. Linked List Cycle II
    41. First Missing Positive
    260. Single Number III
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14678605.html
Copyright © 2011-2022 走看看