zoukankan      html  css  js  c++  java
  • java数组基本操作

    一、数组声明

      两种形式(方括号位置放变量前后都可以):

      int arr[ ]; int[ ] arr2; 

    二、数组初始化

      数组初始化也有两种形式,如下(使用new或不使用new):

      int arr[] = new int[]{1, 3, 5, 7, 9};

      int[] arr2 = {2, 4, 6, 8, 10}; 

    三、遍历数组

      遍历数组可用for/foreach,如下:

       for循环略

       int arr[] = new int[]{1, 3, 5, 7 ,9};

       for (int x: arr) { System.out.print(x + " "); } 


    四、Arraysfill填充数组(修改数组

      使用Arrays类的静态方法,需要import包java.util.Arrays,定义了许多重载方法。

      void fill(int[] a, int val)全部填充

      void fill(int[] a, int fromIndex, int toIndex, int val)填充指定索引的元素  左闭右开

        int[] arr = new int[]{6,6,6,6,6,6};
        Arrays.fill(arr, 8);                //8,8,8,8,8,8
        Arrays.fill(arr3, 1, 3, 9);    //6,9,9,8,8,8    

    五、Arrayssort对数组排序(使用Arrays.调用)

      void sort(int[] a)全部排序    默认升序

      void sort(int[] a, int fromIndex, int toIndex)排序指定索引的元素

    int [] array=new int[]{3,7,8,2,1,9};
    Arrays.sort(array);    //全排序
    Arrays.sort(array,2,5);    //2到5排序

    六、ArrayscopyOf复制数组

      int[] copyOf(int[] original, int newLength)复制数组,指定新数组长度

      int[] copyOfRange(int[] original, int from, int to)复制数组,指定所复制的原数组的索引

    int [] array=new int[]{3,7,8,2,1,9};
    array2=Arrays.copyOf(array,3); //新数组的长度为3
    array3=Arrays.copyOfRange(array,3,5); //复制第三到五个元素

    七、检查数组中是否包含某一个值

      先使用Arrays.asList()将Array转换成List<String>,这样就可以用动态链表的contains函数来判断元素是否包含在链表中

    String[] stringArray = { "a", "b", "c", "d", "e" };
            boolean b = Arrays.asList(stringArray).contains("a");
            System.out.println(b);
    八、连接两个数组(需要下载apache的jar包)

      ArrayUtils是Apache提供的数组处理类库,其addAll方法可以很方便地将两个数组连接成一个数组。

    int[] intArray = { 1, 2, 3, 4, 5 };
    int[] intArray2 = { 6, 7, 8, 9, 10 };
    // Apache Commons Lang library
    int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);


    九、数组翻转

      依然用到了万能的ArrayUtils。
    十、从数组中移除一个元素


    十一、java打印数组

     Arrays.toString(arr)  
    
    for(int n: arr)   
       System.out.println(n+", ");  
    
    for (int i = 0; i < arr.length; i++) {  
       System.out.print(arr[i] + ", ");  
    }  
    
    System.out.println(Arrays.asList(arr));  
    
    Arrays.asList(arr).stream().forEach(s -> System.out.println(s));


    十二、定位元素位置

      Arrays.binarySearch(str);//有序数组

      Arrays.asList.indexOf(str);

    参考:https://blog.csdn.net/qq_36084640/article/details/79342722

  • 相关阅读:
    寻找字符串中只出现一次的第一个字符
    【二叉树】已知二叉树前序序列和中序序列,重建唯一二叉树
    单向链表插入与删除
    【二叉树->链表】二叉树结构转双向线性链表结构(先序遍历)
    先序构建二叉树及先序遍历二叉树
    【Leetcode】寻找数串中连续最大整数和且最大长度的子串
    稀疏矩阵存储、转置、乘法运算
    面试编程题拾遗(06) --- 打印n对括号的全部有效组合
    面试编程题拾遗(05) --- 括号匹配检查
    做到这一点,你也可以成为优秀的程序员
  • 原文地址:https://www.cnblogs.com/StarZhai/p/10578496.html
Copyright © 2011-2022 走看看