zoukankan      html  css  js  c++  java
  • java:编程比赛中有用的方法整理(一)数组

    我曾经参加过几次编程比赛,但是当时用的是c语言,现在学习了java,打算专攻java组,故以此整理。

    数组无论在哪里都必不可少。

    一.数组的拷贝:

    使用Arrays类的copyOf方法:

    1.将一个数组中的所有值拷贝到另一个里面:

    int[] copiedLuckyNumber=Arrays.copyOf(luckyNumbers,luckyNumbers.length);

    2.数组的扩容:

    luckyNumbers=Arrays.copyOf(luckyNumbers,2*luckyNumbers.length);

    如果数组元素是数值型的,那么多余元素将被赋值为0,如果数组元素是布尔型的,则将赋值为false,相反如果长度小于原始数组,只拷贝最前面的数据元素。

    有了这方法就不用写个循环就能得到原函数了。

    3.数组的截取:

    luckyNumbers=Arrays.copyOfRange(luckyNumbers,int start,int end);

    截取数组中的一段,start:起始下标(包含这个值)end:(不包含这个值)如果end超过数组的size多余的位置为0或者false

    二.数组排序:

    最重要的是数组里面的排序(终于可以不用写快速排序了)

    Arrays.sort(yourArrays);

    这个sort方法使用了优化的快速排序,效率比较高。

    排序后数组中的值会按照从小到大。

    三.数组的查找

    数组中自带了二分搜索的方法

    static int binarySearch(type[] a,type v);
    static int binarySearch(type[] a,int start,int end,type v);

    参数:a 类型为基本类型

       start:起始下标(包含这个值)

       end:(不包含这个值)

       v 同a的数据元素类型相同的值

     四.不规则数组(略微不那么重要)

     比如:

    1

    1  1

    1  2  1

    1  3  3  1

    1  4  6  4  1

    1  5  10  10  5  1

    先分配行:

    int[][] odds=new int[MAX+1][]

    分配这些行:

    for(int n=0;n<MAX;n++)
    
      odds[n]=new int[n+1];

    五.数组的转换

    1.int型数组转为字符串

    1 int[] arr = new int[]{1,2,3}; 
    2 String s = Arrays.toString(arr);

     整理自:核心技术卷一

  • 相关阅读:
    python uiautomator2 安装
    python xml
    python实现串口发送接收数据
    linux下查看nginx配置文件地址
    laravel学习笔记(二)
    mac下/usr/local/bin No such file or directory问题解决
    -bash: mysql: command not found 之 MAC
    mac下安装apache+php+mysql
    phpstorm设置代码块快捷方式
    git笔记
  • 原文地址:https://www.cnblogs.com/lzy321/p/10371662.html
Copyright © 2011-2022 走看看