• 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);

     整理自:核心技术卷一

  • 相关阅读:
    sharepoint ECMA 添加指定的人员和指定的角色到某个list里
    sharepoint ECMA 添加User到Site组
    sharepoint ECMA PeopleEditor 清除选中的中的人员
    sharepoinT Modal Dialog
    sharepoint ECMA
    sharepoint 列表查询范围
    sharepoint 2013 添加Quickpart
    背包、队列和栈
    Java 同步块
    Andriod性能优化笔记
  • 原文地址:https://www.cnblogs.com/lzy321/p/10371662.html
Copyright © 2020-2023  润新知