我正在编写一个游戏引擎,其中ArrayList
使用for循环迭代保存在a 中的一组对象。显然,效率非常重要,因此我想知道循环的效率。
for (String extension : assetLoader.getSupportedExtensions()) {
// do stuff with the extension here
}
当getSupportedExtension()
返回ArrayList
的String
秒。我想知道的是,每次循环在新扩展上进行迭代时,是否都调用该方法。如果是这样,这样做会更有效:
ArrayList<String> supportedExtensions = ((IAssetLoader<?>) loader).getSupportedExtensions();
for (String extension : supportedExtensions) {
// stuff
}
?提前致谢。
按照规范,这个成语
for (String extension : assetLoader.getSupportedExtensions()) {
...
}
扩展成
for (Iterator<String> it = assetLoader.getSupportedExtensions().iterator(); it.hasNext();)
{
String extension = it.next();
...
}
因此,您询问的呼叫在循环初始化时仅发生一次。这是迭代器对象,其方法被重复调用。
但是,如果您真的对应用程序的性能感兴趣,那么您应该确保将重点放在大获胜而不是像这样的小土豆上。在任何代码段中,几乎都不可能使getter调用成为瓶颈。对于在HotSpot上运行的应用程序而言,此功能增加了一倍,它将内联getter调用并将其转换为直接现场访问。
本文向大家介绍C#中for循环、while循环循环执行的方法,包括了C#中for循环、while循环循环执行的方法的使用技巧和注意事项,需要的朋友参考一下 先给大家介绍下C#中的循环执行for循环 在这一节练习中,我们向大家介绍一下C#中的另一种重要的循环语句,for循环。 表达式1:一般为赋值表达式,给控制变量赋初值; 表达式2:逻辑表达式,循环控制条件;当条件为真时,循环执行循环体中的语句。
问题内容: 我创建了一个for循环,该循环循环了元素出现在容器中的次数。for循环从HTML捕获一些数据,并创建一个JSON url,然后将返回一个值。然后应将该值添加到适当位置的HTML中。 问题似乎是for循环在进行所有Ajax调用之前完成,因此仅将最后一个值添加到HTML。我以为可以确保readystate等于4,但是该解决方案不起作用。我还尝试将完整而不是成功用作Ajax事件。有什么见解吗
问题内容: 我是AJAX的新手,我正在编写一个用户脚本,该脚本将处理页面上的一堆链接并为每个链接进行AJAX调用。 简单地说,我有一个包含链接列表的页面。我希望遍历链接并获取AJAX来处理每个链接页面的内容,并报告该页面是否包含指定内容。 我遇到的问题是用于遍历linkList的[i]的值始终为6,应该永远不会。我假设我需要传递一些数据,以便当.done最终触发时,它从AJAX首次触发时知道其[i
我正在编写一个python游戏,它有以下功能可以向用户询问。 最多可以有4名玩家(最少1名玩家,最多4名玩家) 它会问玩家的名字。如果名称已存在,程序将提示“名称已在列表中”,并要求再次输入名称 如果播放器在播放器名称输入中输入空字符串,它将退出。 它会询问玩家想要玩多少n个随机数字(使用randint(开始,停止)。最多只允许3位数字 我知道我必须使用
在测试类中,有一个静态方法返回特定目录中的一组所有文件。 因为该方法调用自身来循环文件,所以我在该方法之外实例化了一组,以添加我找到的文件。第一次调用该方法时效果很好,但第二次调用时,被累加起来,由于return语句,我无法清除它。有什么想法吗? 如果我编写更多的方法,或者每次调用该方法时手动清除集合,我可能会解决这个问题,但这一切似乎都不优雅和干净。
我是react的初学者,我已经编写了以下代码: 在render()中,onClick event有一个函数,即,如果以这种方式使用:{this.add}将创建以下错误: 未捕获错误:对象作为React子对象无效(已找到:带键的对象{调度配置,_targetInst,native事件,类型,目标,当前目标,事件阶段,气泡,可取消,时间戳,默认预防,isTrusted,视图,详细信息,...}) 为什