码迷,mamicode.com
首页 > 编程语言 > 详细

数组集合添加算法

时间:2017-07-12 20:57:05      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:

集合是无限存储的容器:

数组集合采用的算法是一开始先开辟好有限的空间进行存储放进来的数据。

等需要再次存放数据的时候,再去开辟一块比原来的空间多的容量之前,老的数据导入进新开辟的空间,然后再把新进来的数据放进空间里,依次这样进行开辟导入就形成了无限的容器。这就是数组集合的算法。 image

在java源码里面,采用的导入方式是直接调用本地系统语言来直接导入数据,这样提高了效率,一万毫秒才能完成的事情也许四千毫秒就执行完毕。

取消for循环导入使用System.arraycopy如下代码:

/**
 * 更多资料欢迎浏览凯哥学堂官网:http://kaige123.com 

 * @author 小沫
 */ //把objs的数据从最开始导入到objs1最开始的空间进行依次存放。objs里面有多少数据那么就导入多少。 System.arraycopy(objs,objs1,0,objs.length);

imageimage

//用下标得到数据 public Object get(int index){ return objs[index];
} //得到大小 public int size(){ return index;
}

测试类:

public static void main(){
MyArrayList list=new MyArrayList(); long tem=System.currentTimeMillis(); for(int i=0;i<100000;i++){
list.add("abc"+i); for(int j=0;j<list.size();j++){
System.out.println(list.get(j));
}
}
System.out.println("毫秒:"+(System.currentTimeMillis)-tem);
list.add("1231");
list.add("1232");
list.add("1233");
System.out.println(list.size()); for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}

数组集合添加算法

标签:

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
凯哥学堂
加入时间:2016-10-07
  关注此人  发短消息
java学习视频下载:www.kaige123.com
凯哥学堂”关注的人------(0
凯哥学堂”的粉丝们------(1
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!