博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java实现长度可变数组
阅读量:4612 次
发布时间:2019-06-09

本文共 1819 字,大约阅读时间需要 6 分钟。

1、数组:数组是一种数据结构,用来储存同一种类型值得集合,数组一旦被创建就不能改变它的大小。

 

2、既然数组的长度是不可改变的,那么怎么实现长度可变呢?

思路:既然数组长度不可变,那么我们可以创建一个长度与原数组不同的新数组,让原数组变量指向新数组,从而实现长度可变(新数组如果没有使用,那么就会被java垃圾回收机制回收销毁,从而不浪费内存空间。)

 

a)直接创建新数组,让原数组变量指向新数组。

 

import java.util.Arrays;    /**  * 这是我们用来测试的类  *   * @author 404NOTFound  */  public class Demo {      public static void main(String[] args) {          int[] src = new int[0];          int[] dest = new int[3];          src = dest;          src[0] = 1;          src[1] = 2;          src[2] = 3;          System.out.println(Arrays.toString(src));      }  }

 输出结果:

 

b)使用Arrays类或者System类的静态方法:Arrays.copyOf(),System.arraycopy(),传入长度比原数组长度不同的参数就会拷贝创建一个长度不同的数组。

代码如下:

import java.util.Arrays;  public class Demo {      public static void main(String[] args) {          int[] src = new int[0];          src = Arrays.copyOf(src, 1);          src[src.length - 1] = 1;          System.out.println(Arrays.toString(src));      }  }

 

 

c)使用ArrayList代替数组,通过泛型ArrayList可以储存不同类型的对象。

代码如下:

 

import java.util.ArrayList;  import java.util.Arrays;    public class Demo {      public static void main(String[] args) {          ArrayList
al = new ArrayList<>(); al.add(1); al.add(2); System.out.println("输出长度:"+al.size()); al.add(3); System.out.println("输出长度:"+al.size()); } }

输出结果:

d)使用Vector,Vector存储同类对象

代码如下:

package test;        import java.util.Vector;        public class Test01 {        public static void main(String[] args) {            Vector vet = new Vector();            String str="test1";            double t1=0.124;            vet.add(str);            vet.add(String.valueOf(t1));           System.out.println("获取大小:"+vet.size());            System.out.println(vet.get(0));                }        }

输出结果:

 

转载于:https://www.cnblogs.com/404NOTFoundNEO/p/9065072.html

你可能感兴趣的文章