当前位置: 首页 > news >正文

深圳画册设计团队天津短视频seo

深圳画册设计团队,天津短视频seo,交互效果好的网站,网页编辑字体加粗代码JDK版本为1.8.0_271#xff0c;Vector底层也是使用object数组#xff0c;但使用synchronized 关键字来确保线程安全#xff0c;但效率比ArrayList低#xff0c;比较少见。这里以插入删除元素为例#xff1a; //属性 protected Object[] elementData; protected int eleme…JDK版本为1.8.0_271Vector底层也是使用object数组但使用synchronized 关键字来确保线程安全但效率比ArrayList低比较少见。这里以插入删除元素为例 //属性 protected Object[] elementData; protected int elementCount;//构造器 public Vector() {this(10); //指定初始容量initialCapacity为10 }public Vector(int initialCapacity) {this(initialCapacity, 0); //指定capacityIncrement增量为0 }public Vector(int initialCapacity, int capacityIncrement) {super();//判断了形参初始容量initialCapacity的合法性if (initialCapacity 0)throw new IllegalArgumentException(Illegal Capacity: initialCapacity);//创建了一个Object[]类型的数组this.elementData new Object[initialCapacity];//增量默认是0如果是0后面就按照2倍增加如果不是0后面就按照你指定的增量进行增量this.capacityIncrement capacityIncrement; }//方法add()相关方法 //synchronized意味着线程安全的 public synchronized boolean add(E e) {modCount;//看是否需要扩容ensureCapacityHelper(elementCount 1);//把新的元素存入[elementCount]存入后elementCount元素的个数增1elementData[elementCount] e;return true; }// 如果需要扩容的话会进行扩容 private void ensureCapacityHelper(int minCapacity) {//看是否超过了当前数组的容量if (minCapacity - elementData.length 0)grow(minCapacity); //扩容 }// 扩容 private void grow(int minCapacity) {// overflow-conscious codeint oldCapacity elementData.length; //获取原有数组的长度//如果capacityIncrement增量是0新容量 oldCapacity的2倍//如果capacityIncrement增量是不是0新容量 oldCapacity capacityIncrement增量;int newCapacity oldCapacity ((capacityIncrement 0) ?capacityIncrement : oldCapacity);//如果按照上面计算的新容量还不够就按照需要的最小容量来扩容minCapacityif (newCapacity - minCapacity 0)newCapacity minCapacity;//如果新容量超过了最大数组限制(Integer.MAX_VALUE - 8)那么单独处理if (newCapacity - MAX_ARRAY_SIZE 0)newCapacity hugeCapacity(minCapacity);//把旧数组中的数据复制到新数组中新数组的长度为newCapacityelementData Arrays.copyOf(elementData, newCapacity); }// 新容量超过了最大数组限制(Integer.MAX_VALUE - 8;)需要进行调整 private static int hugeCapacity(int minCapacity) {if (minCapacity 0) // overflowthrow new OutOfMemoryError();// 对minCapacity和MAX_ARRAY_SIZE进行比较// 若minCapacity大将Integer.MAX_VALUE作为新数组的大小// 若MAX_ARRAY_SIZE大将MAX_ARRAY_SIZE作为新数组的大小// MAX_ARRAY_SIZE Integer.MAX_VALUE - 8;return (minCapacity MAX_ARRAY_SIZE) ?Integer.MAX_VALUE :MAX_ARRAY_SIZE; } ------ 著作权归JavaGuide(javaguide.cn)所有 基于MIT协议 原文链接https://javaguide.cn/java/collection/arraylist-source-code.html//方法remove()相关方法 public boolean remove(Object o) {return removeElement(o); } // 移除元素 public synchronized boolean removeElement(Object obj) {modCount;//查找obj在当前Vector中的下标int i indexOf(obj);//如果i0说明存在删除[i]位置的元素if (i 0) {removeElementAt(i);return true;}return false; }//方法indexOf()查找元素 public int indexOf(Object o) {return indexOf(o, 0); } public synchronized int indexOf(Object o, int index) {if (o null) {//要查找的元素是null值for (int i index ; i elementCount ; i)if (elementData[i]null)//如果是null值用null判断return i;} else {//要查找的元素是非null值防止NullPointerExceptionfor (int i index ; i elementCount ; i)if (o.equals(elementData[i]))//如果是非null值用equals判断return i;}return -1; }//方法removeElementAt()移除index位置的元素 public synchronized void removeElementAt(int index) {modCount;//判断下标的合法性必须在[0,elementCount)合法区间内if (index elementCount) {throw new ArrayIndexOutOfBoundsException(index elementCount);}else if (index 0) {throw new ArrayIndexOutOfBoundsException(index);}//j是要移动的元素的个数int j elementCount - index - 1;//如果需要移动元素就调用System.arraycopy进行移动if (j 0) {//把index1位置以及后面的元素往前移动//index1的位置的元素移动到index位置依次类推//一共移动j个System.arraycopy(elementData, index 1, elementData, index, j);}//元素的总个数减少elementCount--;//将elementData[elementCount]这个位置置空用来添加新元素位置的元素等着被GC回收elementData[elementCount] null; /* to let gc do its work */ }
http://www.pierceye.com/news/881281/

相关文章:

  • asp.net网站开发教程品牌型网站建设
  • 海南网站网络推广建设网站需要注意的事项
  • 营销外包网站网站类别标签文本
  • 企业概况简介解答网站内容优化策略
  • ImQQ网站是怎么做的做网站把自己做死
  • 房产网站制作流程php网站开发教程网
  • 小程序商城名字谷歌优化技巧
  • 备案的时候需要网站吗seo搜索引擎优化公司
  • 网站 空间转移wordpress后台点击菜单没反应应
  • 企业网站可以自己做国外域名交易网站
  • 龙岗网站建设费用明细国外的服务器做的网站在国外能打开在国内打不开是什么原因
  • 个人网站的设计与实现摘要东莞学校网站建设
  • 深圳建设局招标网站网站空间pdf下载不了
  • 中国网站建设服务中心百度搜索风云榜电脑版
  • 开发网站性能监控网站开发常见技术问题
  • wordpress 手风琴插件长沙网站优化联系方式
  • 上海松江水处理网站建设做网站项目
  • 长沙快速建站模板仿牌网站怎么做301跳转
  • 网站建设与管理和计算机网络技术网站运行速度慢的原因
  • 百度推广网络推广微信网站公司网站建设设计服务
  • 免费建站有哪些网站代码编程教学入门
  • 湖南衡五建设公司网站中国网络营销网
  • 做企业网站有什么工作内容有创意的网络公司名字
  • 广西城乡与住房建设厅网站房产网站栏目建设
  • 已收录的网站不好优化上海上市公司排名
  • 保定网站建设公司大全开发微信微网站建设
  • 微信扫码抢红包网站做渝网互联重庆网站制作
  • 用wordpress开发网站缪斯设计官网
  • 黄南州wap网站建设公司旅游类网站做百度竞价
  • 中国电力建设集团有限公司网站wordpress购买