/** * 数组是具有相同数据类型的一组数据的集合 */ //一维数组 //一维数组实质上是一组相同类型数据的集合,但需要再程序中处理一组数据或者传递一组数据时, //可以使用这种类型的数组 //创建一维数组 数组元素类型 数组名字[]; 数组元素类型[] 数组名字; int arr[]; String[] atr; //声明数组后,还不能访问他的任何元素,因为声明数组仅仅是给出呢数组名字和元素的数据类型,要想真正的使用数组 //还要为器分配内存空间,且分配的内存空间必须知名数组的长度,分配内存空间的方式: 数组名字 = new 数组元素类型[数组元素的个数] arr=new int[5]; //需要注意的是,数组的下标是从0开始的 //创建数组的同时分配空间 数组的元素类型 数组名[]=new 数组元素类型[数组元素的个数] int num[]=new int[12]; //初始化一维数组 int arr[]=new int[] {1,2,3,4};//第一种初始化方法 int arr2[]= {1,2,3,4};//第二种初始化方法 //多维数组 //二维数组常用来表示表.表中的信息以行和列的形式组织,第一个下标代表所在的行,第二个下标 //元素表示所在的列 //创建二维数组 数组元素类型 数组名字[][]; 数组元素类型[][] 数组名字; int marry[][]; //为每一维分配相同的内存 marry=new int[2][3]; //初始化 byte arraybyte[][]= {{1,2},{3,4}}; //数组的基本操作
//基本操作 遍历数组 数组的遍历一般使用for循环,一维数组单层循环,二层数组二层循环 当然,在遍历数组的时候foreach语句会更加简单 int arr={{},{}} for(int arrs[]:arr){ for (int arrss: arrs){ //循环完成 } } //填充替换数组元素 数组中的元素定义完成后,可通过Arrays类的静态方法fill()来对数组中的元素进行替换 该方法通过重载的形式可完成对任意类型的数组元素的替换 fill() 方法有两种参数类型 fill(int a[],int value) a:要进行元素替换的数组 value:要存储数组中所有元素的值 例: int arr[] =new int[5] //创建int型数组 Arrays.fill(arr,8)//使用8来进行填充arr数组 //替换制定范围内的元素 fill(int a[],int fromIndex,int toindex,int value) a:要进行填充的数组 fromIndex:要使用指定值填充的第一个元素的索引(包括) toindex:要使用指定值填充的的最后一个元素的索引(不包括) value:要储存在数组中元素中的值 //对数组进行排序 通过Arrays类的静态方法sort()方法来实现对数组的排序,sort()方法提供了多种排序方式,可以对任意类型的数组进行排序 Arrays.sort(object) object:指定进行排序的数组名称 /** Java中的String类型数组的排序算法是根据字典编排顺序排序的,因此数字排在字母面前,大写字母排在小写字母前面 **/ //复制数组 Arrays类的copyOf()方法与copyOfRange()方法可以实行对数组的复制。copyOf()方法是复制数组至指定的长度, copyOfRange()方法则将指定数组的指定长度复制到一个新的数组 1.copyOf() copyOf(arr,int newLength) arr:要进行复制的数组 newLength:int型常量,指复制后新数组的长度。 如果:新的数组长度大于arr的长度,则多余的长度用0填充 新的长度小于arr的长度,则从arr中截取新的长度 2.copyOfRange() copyOfRange(arr,int formIndex,int toIndex) arr:要进行复制的数组对象 formIndex:指定开始复制数组的索引位置,formIndex必须在0至整个整数的长度之间,新数组包括索引是formIndex的元素 toIndex:要复制范围的最后的索引位置,可大于数组arr的长度,新数组不包括索引toindex的元素 //数组查询 Arrays类的binarySearch()方法,可使用二分搜索法来搜索指定数组,以获得指定对象,该方法返回要搜索元素的索引值。 binarySearch()方法提供了多种重载形式,用于满足各种类型数组的查找需要 1.binarySeach(object[] a,Object Key) a:要搜索的数组 key:要搜索的值 如果key包含在数组中,则返回搜索值的索引;否则返回-1或“-”(插入点) 2.binarySearch(object[] a,int formIndex,int toIndex,Object key) a:要进行索引的数组 fromindex:指定范围的开始处索引(包括) toindex:指定范围的结束处索引(不包含) key:要搜索的元素 如果key包含在数组中,则返回搜索值的索引;否则返回-1或“-”(插入点) //冒泡排序 冒泡排序是常用的数组排序算法之一,它排序数组元素的过程总是将小数往前放,大数往后放, 类似水中旗袍往上升的动作,所以称为冒泡排序
//直接选择排序 直接选择排序是选择排序的一种,它的排序速度比冒泡排序快一点,也是常用的排序算法。 1.基本思想 选择排序的基本思想,是将制定排序位置与其他数组元素分别进行比较。如果满足条件就交换元素值,注意这里区别于冒泡排序,不是交换相邻元素,二十八满足条件的元素与指定的 排序位置进行交换(如从最后一个元素开始排序),这样排序好的位置逐渐扩大,最后将整个数组都已经成为排序好的格式
//反转排序 反转排序就是以相反的顺序把原有的内容及进行重新排序,反转排序算法在程序开发中也经常用到 1。基本思想 反转排序的基本思想比较简单,也很好理解,其实现思路就是把数组的最后一个元素与第一个元素替换,倒数第二个元素与第二个元素进行替换,以此类推,知道把数组完全反转替换
原文地址:https://www.cnblogs.com/songdongdong6/p/9887890.html
时间: 2024-10-16 10:21:48