我正在制作两个JLists。第一个是可以选择在按钮点击时转移到另一个列表的项目列表。一个列表被赋予一个数据字符串,例如JList(data),另一个列表是新JList()对象的空声明。
list1 = new JList<String>(data);
list2 = new JList<String>();
如何为列表2保留与列表1相同的内存量?
答案 0 :(得分:0)
这就是事情。 JList只是其他东西的视图。对于使用JList
创建的new JList()
,它是只读空模型的视图。
因此,根据您创建list2
的代码保留内存毫无意义。
如果您希望在用户界面中更新list2
,则需要使用list2
实例化ListModel
。任何保留空间的注意事项都是为了实现您选择的ListModel
以及创建它的方式。
然而,从全局来看,预分配可能无关紧要。如果列表相对较小,则增长模型的成本将是“噪声”。如果列表足够大,那么: