java入门到精通(05)

    /**
     * 数组是具有相同数据类型的一组数据的集合
     */
    //一维数组
    //一维数组实质上是一组相同类型数据的集合,但需要再程序中处理一组数据或者传递一组数据时,
    //可以使用这种类型的数组
    //创建一维数组
    数组元素类型 数组名字[];
    数组元素类型[]      数组名字;
    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。基本思想
反转排序的基本思想比较简单,也很好理解,其实现思路就是把数组的最后一个元素与第一个元素替换,倒数第二个元素与第二个元素进行替换,以此类推,知道把数组完全反转替换

猜你喜欢

转载自www.cnblogs.com/songdongdong6/p/9887890.html