当前位置: 首页 / 技术分享 / 正文
好程序员大数据培训分享实用的大数据之数组

2019-12-09

BigData 大数据培训 好程序员

好程序员大数据培训分享实用的大数据之数组

1.5.1 数组的定义与元素访问

> 数组是一个容器, 是一个用来存储指定数据类型的容器

注意事项:

1. 数组是一个定长的容器, 一旦实例化完成, 长度不能修改

 

名词解释:

1. 数组长度: 指的就是这个容器的容量, 表示这个数组中能存储多少个数据

2. 元素:  指的就是数组中存储的数据

3. 下标: 某一个元素在数组中的一个位置索引

4. 遍历数组: 依次获取到数组中的每一个元素

 

**数组的元素访问**

通过下标来访问的, 数组中元素的下标是从0开始的

数组中元素的下标: [0, 数组.length - 1]

 

**注意:**

在访问数组中元素的时候, 注意下标的范围, 不要越界!!!

遍历数组: 

1. 使用循环遍历下标的方式

   ```java

   int[] array = {1, 2, 3};

   for (int index = 0; index < array.length; index++) {

       System.out.println(array[index]);

   }

   ```

2. 使用增强for循环

   ```java

   int[] array = {1, 2, 3};

   for (int ele : array) {

       System.out.println(ele);

   }

   ```

1.5.2 数组的内存分析

1.5.3 数组的常见操作

1.5.4 数组排序

**选择排序**

固定一个下标, 然后用这个下标对应的元素依次和后面每一个下标的元素进行比较

 

```java

int[] array = {1, 3, 5, 7, 9, 0, 8, 6, 4, 2};

for (int index = 0; index < array.length - 1; index++) {

    for (int compare = index + 1; compare < array.length; compare++) {

        if (array[index] < array[compare]) {

            int temp = array[index];

            array[index] = array[compare];

            array[compare] = temp;

        }

    }

}

```

**冒泡排序**

依次比较数组中两个相邻的元素

```java

int[] array = {1, 3, 5, 7, 9, 0, 8, 6, 4, 2};

for (int i = 0; i < array.length; i++) {

    for (int j = 0; j < array.length - 1 - i; j++) {

        if (array[j] < array[j + 1]) {

            int temp = array[j];

            array[j] = array[j + 1];

            array[j + 1] = temp;

        }

    } 

}

```

1.5.5 数组元素查找

从一个数组中查询指定的元素出现的下标

1. 顺序查找

2. 二分查找

1.5.6 二维数组

好程序员公众号

  • · 剖析行业发展趋势
  • · 分享大厂面试心得
  • · 汇聚企业项目源码
  • · 下载全套高精尖教程

好程序员开班动态

More+
  • HTML5大前端 <高端班>

    开班时间:2020-11-16(北京)

    开班盛况

    开班时间:2020-12-07(深圳)

    预约报名
  • 大数据+人工智能 <高端班>

    开班时间:2020-09-14(北京)

    开班盛况

    开班时间:2020-11-09(北京)

    开班盛况
  • JavaEE分布式开发 <高端班>

    开班时间:2021-01-04(北京)

    预约报名

    开班时间:2020-07-20(北京)

    开班盛况
  • Python人工智能+数据分析 <高端班>

    开班时间:2020-07-20(上海)

    开班盛况

    开班时间:2020-09-21(上海)

    开班盛况
  • 云计算开发 <高端班>

    开班时间:2019-07-22(北京)

    开班盛况

    开班时间:2019-07-15(深圳)

    开班盛况
在线咨询
免费试听
入学教程
立即报名

Copyright 2011-2020 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公安网11010802011455号