java基础学习5——数组基本操作

数组基本操作

索引
1、填充替换数组元素
2、复制数组元素
3、查找数组元素
4、数组排序


填充替换数组元素

          int[] arr = new int[] { 1, 2, 3, 4, 5 };
          System.out.print("填充前: ");
          for (int n : arr) {
               System.out.print(" " + n);
          }
          System.out.println();
          
          // 用8填充替换索引号从1到3,但不包括3的数组元素
          Arrays.fill(arr, 1, 3, 8);
          System.out.print("填充后: ");
          for (int n : arr) {
               System.out.print(" " + n);
          }
          System.out.println();
          
          // 用100填充替换整个数据元素
          Arrays.fill(arr, 100);
          System.out.print("填充后: ");
          for (int n : arr) {
               System.out.print(" " + n);
          }
          System.out.println();

输出结果:
填充替换数组元素


复制数组元素

          System.out.println();
          int[] arr2 = { 1, 2, 3, 4, 5 };
          System.out.println("arr2:" + Arrays.toString(arr2));

          // 复制前三个元素
          int[] arr3 = Arrays.copyOf(arr2, 3);
          System.out.println("arr3:" + Arrays.toString(arr3));
          
          // 复制索引号1到3,但不包括3的元素
          int[] arr4 = Arrays.copyOfRange(arr2, 1, 3);
          System.out.println("arr4:" + Arrays.toString(arr4));
          System.out.println("arr2:" + Arrays.toString(arr2));
          System.out.println();

输出结果:
复制数组元素


查找数组元素

int[] a = { 1, 3, 4, 6, 8, 9 };

binary(二分)Search(查找)要求数组有序
找到返回索引,未找到返回应该插入的位置(从1计数)前面加一个负号

// x4=2,因为4的索引是2
int x4 = Arrays.binarySearch(a, 4);

// x5=-4,因为找不到值为5的元素,如果把5插入到数组中,它应该放在第4个位置
int x5 = Arrays.binarySearch(a, 5);

// x0=-1,因为找不到值为0的元素,如果把0插入到数组中,它应该放在第1个位置
int x0 = Arrays.binarySearch(a, 0);

// x10=-7,因为找不到值为10的元素,如果把10插入到数组中,它应该放在第7个位置
int x10 = Arrays.binarySearch(a, 10);

返回结果为0或者整数,表示查找成功返回值表示该元素的索引
返回结果为负数,表示查找失败

          System.out.println("x4:" + x4);
          System.out.println("x5:" + x5);
          System.out.println("x0:" + x0);
          System.out.println("x10:" + x10);
          System.out.println();

输出结果:
查找数组元素输出结果


数组排序

sort对数组进行排序,升序排列

          int[] arrSort = new int[] { 23, 42, 12, 8, 5, 10 };
          System.out.println("原一维数组是:");
          for (int i = 0; i < arrSort.length; i++) 
          {
               System.out.print(arrSort[i] + " ");
          }
          Arrays.sort(arrSort);
          System.out.println("\n升序排序后的数组是:");
          for (int i = 0; i < arrSort.length; i++)
          {
               System.out.print(arrSort[i] + " ");
          }

输出结果:
数组排序

你可能感兴趣的:(Java)