JAVA基础整理-30.Java数组处理

 

  数组是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来唯一确定数组中的元素。根据数组的维度,可以将其分为一维数组、二维数组和多维数组等。

  数组名可以是任意合法的变量名。注意:在声明数组变量时千万不要漏写[]。

分配空间

  声明了数组,只是得到了一个存放数组的变量,并没有为数组元素分配内存空间,不能使用。

  在 Java 中可以使用 new 关键字来给数组分配空间。

 

  数组名=new 数据类型[数组长度]; 
注意:一旦声明了数组的大小,就不能再修改。这里的数组长度也是必需的,不能少。

初始化一维数组

在初始化数组的同时,可以指定数组的大小,也可以分别初始化数组中的每一个元素

获取单个元素

。获取单个元素的方法非常简单,指定元素所在数组的下标即可
当指定的下标值超出数组的总长度时,会拋出 ArraylndexOutOfBoundsException 异常。

获取全部元素

获取全部元素——使用循环语句。

在二维数组中,直接使用 length 属性获取的是数组的行数,在指定的索引后加上 length(如 array[0].length)表示的是该行拥有多少个元素,即列数。

Java多维数组

Java比较两个数组是否相等(equals())

数组相等的条件不仅要求数组元素的个数必须相等,而且要求对应位置的元素也相等。Arrays 类提供了 equals() 方法比较整个数组。

Arrays.equals(arrayA, arrayB);

Java数组填充(fill())

Arrays 类提供了一个 fill() 方法,可以在指定位置进行数值填充。fill() 方法虽然可以填充数组,但是
它的功能有限制,只能使用同一个数值进行填充。语法如下:
Arrays.fill(array,value);
注意:在向数组中填充数组元素时要注意,虽然定义的数组长度为 6,但是数组的下标是从 0 开始的,因此数组
的最大下标值应该是 5,此时如果为下标为 6 的数组元素赋值,则会出现数组下标越界异常

Java数组查找:数组查找指定元素(binarySearch())

查找数组是指从数组中查询指定位置的元素,或者查询某元素在指定数组中的位置。

在进行数组查询之前,必须对数组进行排序(可以使用 sort() 方法)。

binarySearch() 还有另一种常用的形式,这种形式用于在指定的范围内查找某一元素。语法如下:

binarySearch(Object[] a,int fromIndex,int toIndex,Object key);

Java复制数组的四种方法:arraycopy()方法、clone() 方法、copyOf()和copyOfRange()方法

使用 copyOf() 方法和 copyOfRange() 方法

Arrays 类的 copyOf() 方法与 copyOfRange() 方法都可实现对数组的复制。copyOf() 方法是复制数组至指定长度,copyOfRange() 方法则将指定数组的指定长度复制到一个新数组中。

1. 使用 copyOf() 方法对数组进行复制

Arrays 类的 copyOf() 方法的语法格式如下:

Arrays.copyOf(dataType[] srcArray,int length);
使用这种方法复制数组时,默认从源数组的第一个元素(索引值为 0)开始复制,目标数组的长度将为 length。
2. 使用 CopyOfRange() 方法对数组进行复制
Arrays 类的 CopyOfRange() 方法是另一种复制数组的方法,其语法形式如下:
Arrays.copyOfRange(dataType[] srcArray,int startIndex,int endIndex)

使用 arraycopy() 方法

arraycopy() 方法位于 java.lang.System 类中,其语法形式如下:
System.arraycopy(dataType[] srcArray,int srcIndex,int destArray,int destIndex,int length)
注意:目标数组必须已经存在,且不会被重构,相当于替换目标数组中的部分元素。

使用 clone() 方法

clone() 方法可以创建一个有单独内存空间的对象。
clone() 方法的返回值是 Object 类型,要使用强制类型转换为适当的类型。其语法形式比较简单:
array_name.clone()
 
 

Java数组排序:Java sort()方法

使用 java.util.Arrays 类中的 sort() 方法对数组进行排序分为以下两步:

  1. 导入 java.util.Arrays 包。
  2. 使用 Armys.sort(数组名) 语法对数组进行排序,排序规则是从小到大,即升序。

Java数组排序:Java冒泡排序(Bubble Sort)法

  冒泡排序的基本思想是:对比相邻的元素值,如果满足条件就交换元素值,把较小的元素值移动到数组前面,
把大的元素值移动到数组后面(也就是交换两个元素的位置),这样数组元素就像气泡一样从底部上升到顶部。
Java 中的冒泡排序在双层循环中实现,其中外层循环控制排序轮数,总循环次数为要排序数组的长度减 1。
而内层循环主要用于对比相邻元素的大小,以确定是否交换位置,对比和交换次数依排序轮数而减少

Java数组排序:Java快速排序(Quicksort)法

  快速排序(Quicksort)是对冒泡排序的一种改进。

Java数组排序:Java选择排序法

。选择排序是指每一趟从待排序的数据元素中选出最大(或最小)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完

Java数组排序:Java直接插入法

 

转载于:https://www.cnblogs.com/luojie1216/p/10608042.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值