学习积累----数组

本文详细介绍了Java中数组的基础概念,包括一维和二维数组的使用、数组的常见操作(如遍历、排序、查找)、Arrays工具类的运用以及数组中的异常处理。涉及了数组长度、元素访问、排序算法(如冒泡和快速排序)和二分查找等内容。
摘要由CSDN通过智能技术生成

1.数组的概述

  • 多个数据的组合。
  • 是程序中的容器:数组、集合框架(List、Set、Map)
  • 数组存储的数据的特点:依次紧密排列的、有序的、可以重复的
  • 此时的数组、集合框架都是在内存中对多个数据的存储。
  • 数组的其它特点:一旦初始化,其长度就是确定的、不可更改的

2.一维数组的使用(重要)

>数组的声明和初始化
 int[] arr = new int[0];
 String[] arr = new String[]{"1","2"}
>调用数组的指定元素:使用角标、索引、index
 index从0开始
>数组的属性:length,表示数组的长度
>数组的遍历
>数组元素的默认初始化值 
>一维数组的内存解析(难):
 前提:在main()中声明变量:int[] arr = new int[]{1,2,3};
 虚拟机栈:main()作为一个栈帧,压入栈空间中。在main()栈帧中,存储着arr变量。arr记录着数组实体的首地址值。
 堆:数组实体存储在堆空间中。

3.二维数组的使用

一维数组的元素是一个一维数组,则构成了二维数组

4.数组的常用算法(重要)

数组特征值的计算:最大值、最小值、总和、平均值等

数组的元素赋值。例如:杨辉三角;回型数

数组的赋值、复制

数组的反转

数组的扩容、缩容

数组的查找:

线性查找

二分法查找(前提:数组有序)

数组的排序:

冒泡排序:最简单

快速排序:最常用

5.Arrays工具类的使用

熟悉内部的常用方法:

toString()等

6.数组中的常见异常

数组下标越界

空指针

题目:

Q1.数组有没有length()这个方法?String有没有length()这个方法?

A:数组没有length(),是length属性。String有length()

Q2:有数组int[] arr,用java代码将数组元素顺序颠倒

A:LUE

Q3:为什么数组要从0开始编号,而不是1

A:数组索引代表的是数组元素距离首地址的偏移量。因为第一个元素与首地址形同,所以偏移量是0

Q4:数组有什么排序的方式,手写一下

A:冒泡。

Q5:常见的排序算法,快排过程,时间复杂度?

A: 十大排序算法 ,LUE ,O(nlogn)

Q6:二分算法实现数组的查找

A:LUE

Q7:怎么求数组的最大子序列和

A:LUE

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值