• java之数组使用以及拓展


    之前介绍了什么是数组,怎么创建数组以及一些简单的属性,那么这篇博客就来聊一聊使用数组的一些方法。

    数组的元素类型和数组的大小都是确定的,所以当处理数组元素时候,我们通常使用基本循环或者 ForEach 循环。

    【该实例完整地展示了如何创建、初始化和操纵数组】

     1 public class TestArray {
     2     public static void main(String[] args) {
     3         double[] myList = {1.9, 2.9, 3.4, 3.5};
     4         // 打印所有数组元素
     5         for (int i = 0; i < myList.length; i++) {
     6             System.out.println(myList[i] + " ");
     7         }
     8       // 计算所有元素的总和
     9         double total = 0;
    10         for (int i = 0; i < myList.length; i++) {
    11             total += myList[i];
    12         }
    13         System.out.println("Total is " + total);
    14       // 查找最大元素
    15         double max = myList[0];
    16         for (int i = 1; i < myList.length; i++) {
    17             if (myList[i] > max) {
    18                 max = myList[i];
    19             }
    20         }
    21         System.out.println("Max is " + max);
    22     }
    23 }

    1、For-Each 循环

    JDK 1.5 引进了一种新的循环类型,被称为 For-Each 循环或者加强型循环,它能在不使用下标的情况下 遍历数组。

    语法格式如下:

    1 for(type element: array){
    2     System.out.println(element);
    3 }

    【示例】

    1 public static void main(String[] args) {
    2     double[] myList = {1.9, 2.9, 3.4, 3.5};
    3     // 打印所有数组元素
    4     for (double element: myList) {
    5         System.out.println(element);
    6     }
    7 }

    2、数组做方法入参

    数组可以作为参数传递给方法

    【示例】

    1 //打印数组
    2 public static void printArray(int[] array) {
    3     for (int i = 0; i < array.length; i++) {
    4         System.out.print(array[i] + " ");
    5     }
    6 }

    3、数组作返回值

    1 public static int[] reverse(int[] list) {
    2     int[] result = new int[list.length];
    3     for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
    4         result[j] = list[i];
    5     }
    6     return result;
    7 }

    多维数组

    多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维 数组。

    多维数组的动态初始化(以二维数组为例)

    直接为每一维分配空间,格式如下:

    type[][] typeName = new type[typeLength1][typeLength2];

    type 可以为基本数据类型和复合数据类型,arraylenght1 和 arraylenght2 必须为正整数, arraylenght1 为行数,arraylenght2 为列数。

    比如定义一个二维数组:

    1 int a[][] = new int[2][5];

    解析:二维数组 a 可以看成一个两行五列的数组。

    多维数组的引用(以二维数组为例)

    对二维数组中的每个元素,引用方式为 arrayName[index1] [index2],例如:

    num[1] [0];

    其实二维甚至多维数组十分好理解,我们把两个或者多个值当做定位就好。

    原来的数组就是一条线,我们知道一个位置就好

    二维就是一个面,两点确定一个位置

    三维呢,就需要三个点来确定

    。。。

    依次理解即可!

    获取数组长度:

    a.length获取的二维数组第一维数组的长度,a[0].length才是获取第二维第一个数组长度。

  • 相关阅读:
    Elasticsearch 类比 mysql 实现 in and like or
    es 全文查询
    es 聚合查询
    es多字段分组并求数量
    es 多字段分组并求和
    es 滚动查询二
    es 滚动查询一
    java8 日期操作
    语录(心灵鸡汤来一波)
    并发处理-隔离级别
  • 原文地址:https://www.cnblogs.com/koss/p/14453175.html
Copyright © 2020-2023  润新知