zoukankan      html  css  js  c++  java
  • 数组

    在java中,数组就是一个变量,用于将相同的数据类型的数据存储在内存中。

    int [] scores;     int scores [];       /声明数组     两种方式
    scores = new int[30]; /分配空间

    int [] scores = new int[30]; /声明数组 /分配空间

    scores[0] = 100; /通过下标来赋值 下标从0 开始 谨记
    scores[1] = 90;
    scores[2] = 95;
    scores[..] = ...;
    scores[30] = 100;

    1 int [] scores ={10,20,30,40,50};     int scores [] = new int[]{10,20,30,40,50};    声明/分配空间/赋值     两种都可以推荐第一种

    标识符  scores

    元素    10    20    30   40  50  

    元素类型    int

    下标     0    1   2   3   4    (下标从0开始)

    求一个数组的长度    数组名.length         length是个属性 不是方法

    Arrays.sort(数组名);       进行升序排序  Arrays是java提供的一个类    sort()  是以个方法

    求一个数组中最大值

    max =scores[0];
    for(int i=1; i<scores.length;i++){
        if(scores[i]>max){
             max=scores[i];
       }  
    }

    数组的下标是  0~~数组长度-1     

    插入一个元素, 并且按照降序排列

    作用:对数组的一些基本操作,像排序、搜索、比较等比较常见的操作提供的一些方法。这个类位于java.util包中,常用方法如下:(以下几个方法都是Arrays类中的静态方法,因此可以通过类名直接调用)
    1、sort()

       默认由小到大排序,不只对于数值型的可以排序,对于字符串等也都可以进行排序
    2、binarySearch()

      对已排序(从小到大排序的)的数组进行二元搜索,如果找到指定的值就返回其所在的索引位置,否则返回负值

    3、fill()

       将数组的元素全部设定为指定的值
    4、equals()

       比较两个数组元素中的元素值是否全部相等,如果是返回true,否则返回false,适用于一维数组,多维数组用deepEquals()用法同equals;
    5、deepEquals()

      对多维数组进行比较其内容是否一致,不能用于一维数组,会编译不过滴~
    6、toString(int[] a)
              返回指定数组内容的字符串表示形式。
    7、copyOf(int[] original, int newLength)
              复制指定的数组,截取或用 0 填充(如有必要),以使副本具有指定的长度。
    8、copyOfRange(int[] original, int from, int to)
              将指定数组的指定范围复制到一个新数组。  
    9、asList(array)
        利用Arrays.asList(array)将返回一个List,然而这个返回的List并不支持add和remove的操作。返回的List进行添加或删除时将会报 java.lang.UnsupportedOperationException 异常。
       原因:在Arrays.asList中,该方法接受一个变长参数,一般可看做数组参数,但是因为基本数据类型,如int[] 本身就是一个类型,所以data变量作为参数传递时,编译器认为只传了一个变量,这个变量的类型是int数组,所以size为1。        
       因为是arrays.aslist中,看代码可以看到这里返回的ArrayList不是原来的传统意义上的java.util.arraylist了,而是自己工具类的一个静态私有内部类,并没有提供add方法,要自己实现,所以这里是出错了,因此,除非确信array.aslist后长度不会增加,否则谨慎使用:List abc=Arrays.asList("a","b","c"),因为这样的长度是无法再add的了

    二维数组

    int [] [] scores;           //声明一个二位数组  
    scores = new int [5] [10];    //为二位数组进行分配空间
    或则
    int []  []  scores = new int [5] [10];     //声明并分配
    int [] [] scores = new int [] [] {{90,85,92,78,54},{76,63,80},{87}};
    
    //或者
    int scores [] [] = {{90,85,92,78,54},{76,63,80},{87}};

     

  • 相关阅读:
    CF-819B. Mister B and PR Shifts(模拟,找规律)
    CF-1198E. Rectangle Painting 2(最小点覆盖)
    CF-1214D. Treasure Island(dfs,最小割)
    CF-546E. Soldier and Traveling(网络最大流)
    洛谷 P1351 [NOIP2014 提高组] 联合权值(dp)
    CF-286C. Main Sequence(贪心,模拟)
    java基本框架
    人脸识别算法(—)
    将“引用”作为函数参数有哪些特点
    什么是“引用”?申明和使用“引用”要注意哪些问题?
  • 原文地址:https://www.cnblogs.com/renshihao/p/7448631.html
Copyright © 2011-2022 走看看