数组

2020-05-19 16:06:18来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

数组

一、数组是什么
  • 数组是具有相同数据类型的一组数据的集合
  二、一维数组
  • 创建一维数组
a. 声名一维数组的两种方式 int arr[]; String arr[];   int[] arr; String[] arr; b. 为数组分配内存 arr = new int[5]; arr = new String[5]; c. 声名的同时为数组分配内存 int month[] = new int[12];
  • 初始化一维数组
//二种初始化方式   int arr[] = new int[]{1,2,3,4,5}; int arr2[] = {1,2,3,4,5};
  • 使用一维数组
public static void example3() {     int arr2[] = {1,2,3,4,5};       for(int i = 0; i <= 4; i++) {         System.out.println(arr2[i]);     } }   三、二维数组
  • 创建二维数组
a. 声明二维数组 int myarr[][]; b. 为数组分配内存 myarr = new int[2][4]; c. 分别为每一维分配内存 a = new int[2][];   a[0] = new int[2]; a[1] = new int[3]; d. 声明的同时为数组分配内存 int myarr[][] = new int[2][4];
  • 初始化二维数组
int arr[][] = {{10,20}, {30,40}};
  • 使用二维数组
public static void example4() {     int arr[][] = new int[3][4];       for(int i = 0; i < arr.length; i++) {         for(int j = 0; j < arr[i].length; j++) {             System.out.print(arr[i][j]); //0000         }     } }   四、数组的基本操作
  • 遍历数组
//for public static void example5() {     String arr[][] = {{"ww","ww"}, {"dd", "dd"}, {"mm", "mm"}};       for(int i = 0; i < arr.length; i++) {         for(int j = 0; j < arr[i].length; j ++){             System.out.print(arr[i][j]);         }     } }   //foreach public static void example6() {     String arr[][] = {{"ww", "ww"}, {"dd", "dd"}, {"mm", "mm"}};       for (String x[] : arr) {         for (String v : x) {             System.out.print(v);         }     } }
  • 填充替换数组元素
//可通过Arrays类的静态方法fill()来对数组中的元素进行替换 //fill(int[] a, int value); //fill(int[] a, form, to, int var);  from--替换开始位置(包括) to--替换结束位置(不包括) var--要替换的值   public static void example7() {     int arr[] = new int[5];     Arrays.fill(arr, 8);       for (int i = 0; i < arr.length; i++) {         System.out.print(arr[i]); //88888     } }   public static void example8() {     int arr[] = {3, 3, 3, 3};     Arrays.fill(arr, 1, 3, 8);       for (int x : arr) {         System.out.print(x); //3883     } }
  • 对数组进行排序
//通过Arrays类的静态sort()方法可以实现对数组的排序,sort()方法提供了多种重载形式,可对任意类型的数组进行升序排序 //Arrays.sort(object);   public static void example9() {     int arr[] = {7, 5, 1, 4};     Arrays.sort(arr);       for (int x : arr) {         System.out.print(x); //1457     } }
  • 复制数组
//copyOf();       复制数组至指定长度 //copyOfRange();  复制数组至指定范围   public static void example10() {     int arr[] = {3, 4, 5};     int arr2[] = Arrays.copyOf(arr, 5);       for (int x : arr2) {         System.out.print(x + "-"); //3-4-5-0-0-     } }   public static void example11() {     int arr[] = {3, 4, 5, 6, 7, 8, 9};     int arr2[] = Arrays.copyOfRange(arr, 0, 3);       for (int x : arr2) {         System.out.print(x + "-"); //3-4-5-     } }
  • 数组查询
//Array类的binarySearch()方法,可使用二分搜索法来搜索指定数组,以获得指定对象,返回要搜索元素的索引值 //binarySearsh(Object[] a, Object key);   五、数组排序算法
  • 冒泡算法
  • 直接选择排序
  • 反转排序
  • ...

原文链接:https://www.cnblogs.com/duomen/p/12916497.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java架构面试必知必会的微服务面试题解析

下一篇:Java String和Date的转换