java动态数组、集合类、以及数组辅助工具的简单使用 您所在的位置:网站首页 java里面static的作用 java动态数组、集合类、以及数组辅助工具的简单使用

java动态数组、集合类、以及数组辅助工具的简单使用

2023-03-30 02:28| 来源: 网络整理| 查看: 265

一、封装好的动态数组:

     java、C#在定义数组的时候需要指定数组长度,如果数组需要可变长度,那么使用ArrayList或其他的集合类来解决,Vector是同步的而ArrayList是非同步的,Vector性能差些。

    ArrayList 是可变长度的,初始化是10个长度,没有赋值的都是null, 超过10个后变成20个了,一直按10的倍数来递增的。见下图:

java为ArrayList封装了很多使用的方法,如add等,这里就不再赘述。

二、自定义动态字串数组:

    正如ArrayList的内部实现,所谓的可变长度,就是往里面放值直到放满后再重新new一个更加长的数组,把之前放的值重新再放一次,这个时候就有剩余的空间继续放值了。根据这个思路,我们可以自定义一个工具类,来动态的改变数组的长度,给数组添加元素。

private static String[] insert(String[] arr, String str) { int size = arr.length; String[] tmp = new String[size + 1];

System.arraycopy(arr, 0, tmp, 0, size);

tmp[size] = str; return tmp; }

    这样我们在使用的时候可以给数组随意初始化一个长度,然后利用该工具动态改变数组,而不用担心越界的问题。

综合上面的总结,通过下面的代码来对比一下各自的使用:

List templateDetailsList=commonEao.findResultListByEqual(TemplateDetails.class, equalFields);

//固定长度 String[] pks= new String[templateDetailsList.size()]; //数组集合 List pksList=new ArrayList(); Vector pksVector= new Vector();

for (TemplateDetails templateDetails : templateDetailsList) { //给已确定长度的数组添加元素 ArrayUtils.add(pks, templateDetails.getId()); //动态改变数组长度并增加元素 pks = insert(pks,templateDetails.getId() ); //ArrayList动态数组的集合 pksList.add(templateDetails.getId() ); //安全了线程,降低了性能,jdk1.5版本(过时) pksVector.add(templateDetails.getId()); }

三、数组操作工具类:

    工具类一般都是静态的:

System.arraycopy(arr, 0, tmp, 0, size); ArrayUtils.add(pks, templateDetails.getId()); 自定义的封装: pks = insert(pks,templateDetails.getId() );     不怕不知道就怕不知道,这些工具类,还有很多其他的操作,具有小巧灵活强大的特点,往往会起到很关键的作用,这里就不再赘述这些工具的其他的方法。在编程中,通过了解一些内部实现,可以自定义一些小辅助工具,更方便程序开发。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有