时间:2021-05-19
在使用数组的时候,因为大小的限制,难免会出现不够用的现象。直接给数据对象扩容是不可行的,这时候就需要我们找寻一些其他的方法。本篇先为大家简单分析扩容的原理,然后创建一个数组供大家使用,最后提供两种数组扩容方法:for循环和Arrays,下面一起来看具体的操作。
(1)Java数组对象的大小是固定不变的,数组对象是不可扩容的。
(2)利用数组复制方法可以变通的实现数组扩容。
(3)System.arraycopy()可以复制数组。
(4)Arrays.copyOf()可以简便的创建数组副本。
(5)创建数组副本的同时将数组长度增加就变通的实现了数组的扩容。
4.方法二:使用java的util包的Arrays类的copyOf(原数组名,新数组长度)方法来进行复制。
arry1 = Arrays.copyOf(arry,arry.length+2);arry1[5] = 11;arry1[6] = 13;System.out.println("新数组为:"+arry1[5]);System.out.println("新数组为:"+arry1[6]);以上就是数组在java中的扩容方法,这两种方法相对新手而言,是非常容易实现扩容的。
相关实例扩展:
import java.util.Arrays;public class HelloWorld { public static void main(String[] args){ // Scanner s = new Scanner(System.in); // System.out.println("请输入一个数字"); // int num = s.nextInt(); int []a = {1,2,3,4,5}; int []b = new int[a.length] ; //1、源数组 //2、源数组的哪个位置开始 //3、目标数组 //4、目标数组的哪个位置开始存放 //5、拷贝几个 //System.arraycopy(a, 0, b, 0, a.length); //Demoe.PrintArray(b); //扩容--->扩容了一倍 //a = Arrays.copyOf(a, 2*a.length) ; //Demoe.PrintArray(a); a = insertArray(a , 3 , 100) ; //打印数组 System.out.println(Arrays.toString(a)); } //写一个函数,向整数数组的任意pos位置插入一个元素value public static int[] insertArray(int []a , int pos , int value){ if(pos < 0 || pos > a.length + 1) //索引下标不对,直接返回源数组 return a ; //放入一个元素,先扩容,后复制 a = Arrays.copyOf(a, a.length+1) ; for(int i = a.length - 1 ; i > pos ; i--){ a[i] = a[i-1] ; //后移动 } a[pos] = value ; return a ; }}到此这篇关于数组在java中的扩容的实例方法的文章就介绍到这了,更多相关数组在java中的扩容方法浅析内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Java中char数组(字符数组)与字符串String类型的转换方法。分享给大家供大家参考,具体如下:在Java语言编程时,使用“口令字段“jPa
本文研究的主要是Java数组的扩容的相关代码示例,具体实现过程如下所示。在写程序的过程中,我们常常会碰见数组空间不够用的情况,比如我已经初始化了一个数组int[
本文实例讲述了java检查数组是否有重复元素的方法。分享给大家供大家参考。具体实现方法如下://判断数组中是否有重复值publicstaticbooleanch
本文实例讲述了Java编程实现数组转成list及list转数组的方法。分享给大家供大家参考,具体如下:数组转成list:方法一:String[]userid={
java用泛型参数类型构造数组详解及实例前言:前一阵子打代码的时候突然想到一个问题。平时我们的数组都是作为一个参数传入方法中的,如果我们要想在方法中创建一个数组