Java Basics Part 14/20 - Arrays

Java Basics Part 14/20 - Arrays

目录


数组是一种数据结构,大小固定,存储的是一系列相同类型的元素。可以把数组理解成是相同类型的元素的集合


声明数组

dataType[] arrayRefVar;   // 推荐形式

or

dataType arrayRefVar[];  //  也可以但是不推荐

创建数组

可以使用 new 关键字:

arrayRefVar = new dataType[arraySize];

上面这句话做了两件事:

  • 使用 dataType[arraySize] 创建了一个数组
  • 把数组的引用赋给了 arrayRefVar 变量

你可以把声明和赋值放在一起:

dataType[] arrayRefVar = new dataType[arraySize];

也可以这样:

dataType[] arrayRefVar = {value0, value1, ..., valuek};

操作数组

一般情况下,使用循环来操作数组。
举例:

public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // Print all the array elements
      for (int i = 0; i < myList.length; i++) {
         System.out.println(myList[i] + " ");
      }
      // Summing all elements
      double total = 0;
      for (int i = 0; i < myList.length; i++) {
         total += myList[i];
      }
      System.out.println("Total is " + total);
      // Finding the largest element
      double max = myList[0];
      for (int i = 1; i < myList.length; i++) {
         if (myList[i] > max) max = myList[i];
      }
      System.out.println("Max is " + max);
   }
}

// output
1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5

foreach 循环
JDK 1.5 引入了 foreach 增强型 for 循环,无须数组下标即可遍历数组。
举例:

public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // Print all the array elements
      for (double element: myList) {
         System.out.println(element);
      }
   }
}

// output
1.9
2.9
3.4
3.5

数组作参数

public static void printArray(int[] array) {
  for (int i = 0; i < array.length; i++) {
    System.out.print(array[i] + " ");
  }
}

可以这么调用:

printArray(new int[]{3, 1, 2, 6, 4, 2});

数组做返回值

public static int[] reverse(int[] list) {
  int[] result = new int[list.length];

  for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
    result[j] = list[i];
  }
  return result;
}

Arrays 类

java.util.Arrays 类包含了很多的静态方法,这些方法可以用来对数组进行 排序,搜索,比较,以及填充元素。

SNMethods with Description
1public static int binarySearch(Object[] a, Object key)
2public static boolean equals(long[] a, long[] a2)
3public static void fill(int[] a, int val)
4public static void sort(Object[] a)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值