数组课堂笔记

  1. 数组的概念

是数据的组合,包含多个数据,数组就是一个变量,是一组连续的存储空间,存储相同数据类型的值

  1. 数组的优点与缺点?

优点:一个数组可以存储多个元素,可以按照索引查找元素,效率非常高 位置=起始位置+每个元素的位数*索引

缺点:删除和添加元素都需要大量的移动数据,效率低下,如果元素是无序的,那么按照元素值查找效率低下

  1. 冒泡排序(思路)

1.整个数列分成两部分:无序数列有序数列

2.初始状态下,整个数列都看做是无序数列,有序数列是空

3.一共n个元素,达到最终有序,至多n-1趟比较,至少也要比较1趟

4.每比较一趟,将无序数列的最大值取出,放入有序数列 

5.每一趟都是从第一个元素开始比较,比较到无序数列的最后一个元素结束。

6.每一趟循环依次比较相邻的两个元素,如果前一个大于后一个,交换

7.如果不到n-1趟,数组已经有序,后续趟循环可以省略

8.如何判断数组已经有序:如果一趟循环下来,没有出现过元素交换,有序

  1. 选择排序(思路)

固定一个下标,然后拿这个下标对应的值依次和后面的元素比较

  1. 二分查找(思路)

前提是数组是有序的(升序或降序),通过折半来缩小查找范围,提高查找效率,将带查找的元素与中间下标对应的元素比较,如果大于中间下标对应的元素,则去右半部分查找

  1. 二维数组的特点

其实java中只要一维数组,没有二维数组

二维数组就是(元素是一维整型数组的 int[]的)一堆数组

三维数组就是(元素是二维数组的)一堆数组-

  1. 可变参数

是JDK5.0以后增加的内容

语法:int … x

作用:作为方法的形参,在方法中可以当做数组处理

调用(实参):实参可以是0个,1个或多个,长度可变,也可以是一个数组

可变参数和数组参数的联系和区别

联系:可变参数当做数组参数来处理

区别:

  1. 实参不同:可变参数的实参可以没有,也可以是多个,还可以是一个数组。
  2. 个数不同:可变参数只能有一个
  3. 位置不同:可变参数必须是方法形参的最后一个

  1. Arrays数组工具类及常用方法
  1. Arrays.toString(arr1)//格式成字符串后输出
  2. Arrays.binarySearch(arr2,30);//前提是  有序的数组   二分查找  /  折半查找
  3. Arrays.sort(arr1);
  4. Arrays.sort(Object [] );
  5. Arrays.sort(a,compartor);

  1. Arrays.copyOf(arr1,9);//数组复制
  2. Arrays.equals(arr1,arr3);//数组的比较
  3. Arrays.copyOfRange(arr1,4,6);//不包含第6个数据[4,6]

  1. Arrays.fill(arr1,10);//填充数组
  2. Arrays.fill(arr1,2,7,-50);

  1. Arrays.asList(“Larry”,”Moe”,”Curl”);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值