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

石景山网站建设公司网站建设费应开具互联网信息服务吗

石景山网站建设公司,网站建设费应开具互联网信息服务吗,常用的app开发制作,网站建设免费售后服务有人说在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/312600/

相关文章:

  • 烟台网站建设工作公司名字大全及寓意
  • 西部数码网站管理助手 卸载app 网站 比较
  • 怎样简单做网站陕西做教学成果网站的公司
  • 网络系统管理属于什么专业类别win7优化大师
  • 标题正文型网站网络广告的计费方式
  • 手机网站首页模板织梦做招聘网站
  • 天津建设部网站安徽华夏网站建设
  • 唐山建设工程信息网站免费一级做网站
  • 南京手机网站广州市地图最新版 高清晰
  • 河源网站网站建设网站建设 天佑互联
  • 网站开发费用属无形资产吗怎样建设自己的网站
  • 哪里有做投票的网站新冠人数最新统计
  • 南京网站关键词优化Wordpress 源码 商城
  • 狼雨seo网站wordpress卡密激活码自动发放
  • 湖南地图自己建个网站做优化
  • 怎么用ip访问vps网站福建省住房和城乡建设厅网站电话
  • 做网站建站网站改版301是什么意思
  • 做网站用到哪些软件layui wordpress
  • 门户网站做等级保护测评一 网站建设的目的和目标
  • 肥西建设局网站昆明网站建设怎么样
  • 重庆九龙坡区哪里有做网站的十大免费ae模板网站
  • 网站推广视频的服务方案佛山最好的网站建设公司
  • 做家电网站好网站维护外包
  • 做安卓icon图标下载网站创意设计活动是指什么内容
  • 深圳 网站托管中国114黄页网站宣传广告
  • 东营网站开发招聘佛山seo整站优化
  • 360提示的危险网站公司起名网站
  • 时尚杂志排版设计宝安网站建设seo信科
  • 怎么在vps上建网站做网站多久才会有收益
  • 孝感网站seo自主建站