[Java] Java自学笔记(六)——数组

本文主要介绍了一维数组的相关知识,包括定义与访问方式,指出数组是引用数据类型,可作为方法的返回值和参数。还讲解了可变长参数、数组扩容步骤,分析了数组优缺点及应用场景。此外,介绍了对象数组、Arrays工具类的使用,以及冒泡、选择排序和二分查找方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

*一维数组的定义与访问
    ·定义
        数据类型 [] 数组名 = new 数据类型[数组长度];
            ·数据类型就是数组中存储元素的数据类型
            ·方括号就是定义的数组
            ·数组名其实就是一个变量名,保存是数组的引用(数组的起始地址)
            ·new 运算符会在堆中分配一块连续的存储空间,把这块连续的存储空间的引用(起始地址)保存到数组中
        int[] data = new int[5];
            ·定义一个数组可以存储五个int类型的数据,数组名是data
            ·通过索引值访问数组的元素
            ·定义一数组后,系统为每个元素指定一个索引值,索引值是从0开始的,即数组data的五个元素分别是
                data[0]
                data[1]
                data[2]
                data[3]
                data[4]
*数组是一种引用数据类型
    ·数组可以作为方法的返回值类型,也可以作为方法的参数类型
*可变长参数
    ·定义一个方法可以接受任意个数据
    ·定义:
        方法名( 参数类型 ...  参数名)
        ·一个方法最多有一个可变长参数
        ·可变长参数只能放在参数列表的最后
        ·在方法体中,把可变长参数当做数组使用即可
*数组扩容
    ·当定义一个数组之后,数组的长度就确定了,想要在数组中保存更多的数据就需要扩容
*数组扩容的步骤
    ·定义一个更大的数组
    ·把原来数组的内容复制到新的数组
    ·让数组名指到新的数组
*数组的特点
    ·优点:
        ·数组可以通过索引值(下标)可以实现数组的随机访问
    ·缺点:
        ·插入或删除元素效率比较低
    ·应用场景:
        ·数组中存取的元素以查询访问为主,很少进行添加/删除
*对象数组
    数组中存储的是引用类型数据,就是对象数组
*Arrays工具类——数组工具类
    ·asList()————把数组转换为List列表
    ·int=binarySearch(int[] a ,int key)————在数组a中查找元素key 返回,key在数组中的索引值,
                                           如果数组中不存在该元素返回负数,二分查找的前提是
                                           数组已经有小到大排序
    ·int[]=copyOf(int [] original,int newLength)————把数组中original中的元素复制到一个新的数组
                                                    中,新的数组的长度是newLength
    ·int[]=copyOfRange(int []original,int form,int to)————把数组[fom,to)范围的元素复制到新数组中
    ·deepTostring(Object[] a)————把多维数组的元素转换为字符串
    ·fill(int[],int val)————使用val来填充数组a
    ·parallelSort(int[] a)————数组排序,适用于数组非常大的情况
    ·sort(int[] a)————对数组进行排序
    ·sort(T[]a, Comparator<? super T>c)————对象数组排序时候,可以指定比较器
    ·toString(int[]a)————把数组元素转换为字符串
*几种排序方法
    ·冒泡排序(从小到大)
        从前往后两两比较,如果前面的数大于后面的数就交换
    ·选择排序(从小到大)
        从剩余元素中选择最小的放到最前面
*二分查找
    前提是已经从大大小排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值