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

电子商务战略选择 网站建设建议贵州网络推广介绍

电子商务战略选择 网站建设建议,贵州网络推广介绍,网站建设公司的会计分录,seo关键词快速排名前三位有人说在for循环之前用一个局部变量先获取到list.size()、str.length(),然后在for循环的判断条件里通过这个局部变量替换list.size()、str.length()会节省数据计算的时间。事实真的是这样吗?下面就为大家解答这个问题。 说明:此文章针对Andro…

有人说在for循环之前用一个局部变量先获取到list.size()、str.length(),然后在for循环的判断条件里通过这个局部变量替换list.size()、str.length()会节省数据计算的时间。事实真的是这样吗?下面就为大家解答这个问题。

说明:此文章针对Android SDK 进行说明。
List.size()

首先我们看一下List接口,我们知道.size()方法是List接口的一个方法,返回一个int类型的值。

public interface List<E> extends Collection<E> {//省略部分代码.../*** Returns the number of elements in this {@code List}.** @return the number of elements in this {@code List}.*/public int size();//省略部分代码...
}



接口中的方法都是没有具体实现的,我们下面看一下List的实现类ArrayList(LinkList也一样,这里讲ArrayList)。我们先看下ArrayList类中的size()方法是如何实现的:
 

public class ArrayList<E> extends AbstractList<E> implements Cloneable, Serializable, RandomAccess {//省略部分代码.../*** Returns the number of elements in this {@code ArrayList}.** @return the number of elements in this {@code ArrayList}.*/@Override public int size() {return size;}//省略部分代码...
}

复制代码



我们看到ArrayList里的size()方法直接return了一个size,通过查看发现size是ArrayList类中的一个int类型的成员变量,代表list结合中的元素数量。
 

    /*** The number of elements in this list.*/int size;



通过跟踪size变量发现在ArrayList类中的add,remove方法中都会动态改变size的大小。
 

复制代码

 /*** Adds the specified object at the end of this {@code ArrayList}.** @param object*            the object to add.* @return always true*/@Override public boolean add(E object) {Object[] a = array;int s = size;if (s == a.length) {Object[] newArray = new Object[s +(s < (MIN_CAPACITY_INCREMENT / 2) ?MIN_CAPACITY_INCREMENT : s >> 1)];System.arraycopy(a, 0, newArray, 0, s);array = a = newArray;}a[s] = object;size = s + 1; // 添加元素size增加modCount++;return true;}
.../*** Removes the object at the specified location from this list.** @param index*            the index of the object to remove.* @return the removed object.* @throws IndexOutOfBoundsException*             when {@code location < 0 || location >= size()}*/@Override public E remove(int index) {Object[] a = array;int s = size;if (index >= s) {throwIndexOutOfBoundsException(index, s);}@SuppressWarnings("unchecked") E result = (E) a[index];System.arraycopy(a, index + 1, a, index, --s - index); //删除元素 size--a[s] = null;  // Prevent memory leaksize = s;modCount++;return result;}

复制代码



通过上述代码我们知道通过ArrayList中的.size()方法获取集合长度,会直接返回一个集合元素数量的变量值,而不会每次调用size()方法都重新计算下集合的元素数量再返回。下面我们在看下String.length()。
String.Length()

我们看下java.lang包下得String类,首先找到String类中的.length()方法:

复制代码

/*** An immutable sequence of UTF-16 {@code char}s.* See {@link Character} for details about the relationship between {@code char} and* Unicode code points.** @see StringBuffer* @see StringBuilder* @see Charset* @since 1.0*/
public final class String implements Serializable, Comparable<String>, CharSequence {//省略部分代码...private final int count;//省略部分代码.../*** Returns the number of {@code char}s in this string. If this string contains surrogate pairs,* this is not the same as the number of code points.*/public int length() {return count;}//省略部分代码...
}

复制代码



我们发现跟ArrayList中的size()方法一样,返回了一个int类型的成员变量count。这个count是怎么赋值的我也不清楚,有兴趣的可以去研究一下。

#总结
综上所述,我们就可以知道List.size()和String.length()方法都是直接返回一个int类型变量值,而不会花费时间再去计算大小后返回,所以放心的去使用size()和length()方法吧。

http://www.yayakq.cn/news/569130/

相关文章:

  • 网站制作公司属于广告发布者吗模仿建设网站是侵权吗
  • 网站建设 php jsp .net中国建设银行企业
  • 全球云邮登陆网站护肤网站模版
  • 如何进行电子商务网站推广?让家里的电脑做网站服务器
  • 移动网站建设是什么意思网站建设中遇到的问题
  • 网站制作与网站建设实际报告洛阳设计网站公司
  • wordpress mv网站模板网站开发外包计入什么科目
  • 汕头网站建设推广中国建设人才服务信息网证书查询
  • 五泉山网页设计宣传网站制作网络广告策划书的内容
  • 河南做网站需要多少钱aso优化技巧
  • 长沙网站建设方面江西城开建设集团有限公司网站
  • 工程公司网站模板下载商城网站模板免费
  • 云主机网站的空间在哪里看张雪峰谈建筑室内设计
  • 林州网站建设策划.asp网站怎么做
  • 中建海峡建设发展有限公司网站奥运网站模板
  • 网站建设促销文案wordpress小标签
  • 学院网站建设流程wordpress 七牛云 ssl
  • 如何把网站做权重上海中风险地区名单
  • 用什么网站做微信推送一 网站开发体会
  • 平台建设网站公司asp做素材网站
  • 外国人做那个视频网站wordpress seo怎么做
  • 个人做电子商务网站wordpress 主题 国外
  • 有没有在网上做ps赚钱的网站食品行业做网站
  • 手机微网站建设方案公司注册地址查询系统
  • 新余公司做网站钢铁建设网站
  • 青岛网站建设莫道网络学生教育平台入口
  • 国外移动端网站模板网站域名等级
  • 无锡科技网站建设怎样建设单位网站
  • 上海平台网站建设公司排名0511网站
  • 宝塔面板上传自己做的网站比亚迪电子股票