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!!!
  • 相关阅读:
    苹果所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程(精)
    使用tcpdump抓取HTTP包
    android保持在休眠时,后台程序继续运行(让程序获取设备电源锁)
    insert数据时,获取插入数据的id
    Android学习笔记(五五):通知Notification(下)
    apk反编译与android项目代码混淆
    android 解决横竖屏切换时重新载入的问题
    android中往字符串数组动态添加元素
    error 25015安装程序集“C:WindowsMicrosoft .NETFrameworkv2.0.50727xxx.dll”失败,原因是出现了系统错误:另一个程序正在使用此文件,进程无法访问
    win7 安装vs2013后无法连接远程数据库,出现如下提示的解决方法
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14678605.html
Copyright © 2011-2022 走看看