使用Java(1.6)更好地在List上调用clear()方法还是重新实例化引用?
我有一个ArrayList,其中充满了未知数量的对象,并定期“刷新”-处理对象并清除列表。刷新后,列表将再次填充。刷新发生在随机时间。列表中的数字可能较小(10个对象)或较大(数百万个对象)。
那么,让“ flush”调用clear()或new ArrayList()更好吗?
甚至值得担心这种问题,还是让VM担心呢?我该如何看待Java的内存占用,以便自己完成这种事情?
任何帮助,不胜感激。
主要要考虑的是 其他 代码可能引用了该列表。如果现有列表在其他位置可见,您是否希望该代码查看已清除列表,还是保留现有列表?
如果没有其他可以看到的列表,我可能会清除它-但不是出于性能原因;仅仅因为您描述操作的方式 听起来 比“创建新列表”更像是清除操作。
该ArrayList<T>
文档不指定会发生什么情况基础数据结构,但是看着在Eclipse
1.7的实现,它看起来像你应该叫trimToSize()
后clear()
-否则,你仍然可以有一个大阵空引用的支持列表。(当然,也许这对您来说不是问题,也许这比在再次建立大小时复制数组要更有效。您将比我们更了解这一点。)
(当然,创建新列表并不需要旧列表将所有数组元素设置为null …,但我怀疑这在大多数情况下是否有意义。)
Python3 列表 描述 clear() 函数用于清空列表,类似于 del a[:]。 语法 clear()方法语法: list.clear() 参数 无。 返回值 该方法没有返回值。 实例 以下实例展示了 clear()函数的使用方法: #!/usr/bin/python3 list1 = ['Google', 'Runoob', 'Taobao', 'Baidu'] list1.cl
我一直在和Hyperledger Fabric一起工作。通常,当my chaincode实例化失败时(由于Go代码中的一些错误),或者当我只是想更新它时,我需要停止所有的执行,然后重新读取CA、Orderer、CouchDB和对等点。这确实很有问题,也很耗时。 我想知道有没有什么直接的方法可以做到这一点?我无法找到任何解决方案在网上的语言简单到足以理解。 提前谢谢你。
假设我有以下代码: 是否有可能在中调用来自的的编译器错误?我知道实际上你会把那个方法放在构造函数中,但这个问题是出于好奇。
问题内容: 目前,我正在阅读“ JUnit in action”一书。在这本书中,我发现以下内容: JUnit会在调用每个@Test方法之前创建测试类的新实例。这有助于提供测试方法之间的独立性,并避免测试代码中的意外副作用。因为每个测试方法都在新的测试类实例上运行,所以我们无法在所有测试方法之间重用实例变量值。 现在,我看不出这种方法有什么意义: 例如: 对于测试类CalculatorTest,没
问题内容: 有没有一种更友好的方法来获取FontMetrics实例,而不是 由于以下示例,我讨厌这种方式: 如果要在游戏中创建菜单,并且希望所有菜单项都位于屏幕中央,则需要字体度量。但是,大多数菜单项都是可单击的。因此,我创建了一个数组,所有矩形都适合这些项目,因此当按下鼠标时,我可以简单地使用 但是要创建矩形,我还需要FontMetrics作为其坐标。因此,这意味着我必须在菜单的绘制方法中构造所
所以我一直试图弄清楚类和实例在python中是如何工作的,并且一直在制作一个基于文本的游戏来尝试和第一手了解它。 我知道重复你的话通常意味着你做错了什么,但我就是不知道该怎么做。我的代码如下所示: desc是对房间的描述,command是用来访问房间的单词,secret是关于房间的额外信息,x和y是放置在xy轴上的房间 我一直在努力解决这个问题,因为我需要它来检查命令,看看它需要移动多少x和y空间