我有一个ArrayList
,我想准确复制它。我尽可能地使用实用程序类,但前提是有人花了一些时间来使它正确。因此,自然而然地,我得到了Collections
一个包含复制方法的类。
假设我有以下内容:
List<String> a = new ArrayList<String>();
a.add("a");
a.add("b");
a.add("c");
List<String> b = new ArrayList<String>(a.size());
Collections.copy(b,a);
这失败了,因为基本上它认为b
不足以容纳a
。是的,我知道b
大小为0,但现在应该足够大了,不是吗?如果我必须先填补b
,那么Collections.copy()
脑海中就变成了完全没用的功能。因此,除了编写一个复制函数(我现在要做)之外,还有没有适当的方法来做到这一点?
呼唤
List<String> b = new ArrayList<String>(a);
创建的浅表副本a
内b
。所有元素将以b
与它们完全相同的顺序存在a
(假设元素具有顺序)。
同样地,
// note: instantiating with a.size() gives `b` enough capacity to hold everything
List<String> b = new ArrayList<String>(a.size());
Collections.copy(b, a);
还创建的浅表副本a
内b
。如果第一个参数的 容量
(大小)b
不足以容纳所有的元素,则它将抛出。期望工作不需要任何分配,如果有分配,那么它将抛出该异常。这是一种优化的方法,要求将复制的集合预先分配(),但由于考虑到基于构造函数的替代方法(如上所示)没有奇怪的副作用,因此需要进行检查,因此我通常认为该功能不值得。
__a``IndexOutOfBoundsException
Collections.copy
b
要创建深层副本,必须List
通过任一机制对基础类型具有复杂的知识。对于String
s(它在Java中是不变的)(甚至是.NET),您甚至不需要深层副本。对于MySpecialObject
,您需要知道如何对其进行深拷贝,而这不是一般操作。
注意:最初接受的答案是Collections.copy
在Google中获得最高结果的答案,并且完全没有错,正如评论中指出的那样。
在 Favorites(收藏夹)中,您可以储存并管理 Flow 网络服务中您最喜欢的训练目标。在手表上,您可以将您最喜爱的目标用作指定目标。有关更多信息,请参见 Flow 网络服务中的训练规划。 Flow 网络服务中的收藏数量没有限制。如果 Flow 网络服务中收藏夹数量超过 100 个,同步时列表中的前 100 个会传输到手表中。您可以通过拖放操作改变我的最爱的顺序。选择您要移动的“我的最爱”,
在 Favorites(收藏夹)中,可在 Flow 网络服务及 Flow 移动应用中储存并管理您收藏的训练目标。您可以将收藏项目在手表上用作预定目标。有关更多信息,请参见在 Flow 网络服务中规划训练。 您可以看到手表中的数目上限。Flow 网络服务中的收藏项目数量没有限制。如果 Flow 网络服务中收藏项目数量超过 100 个,在同步时,列表中的前 100 个收藏项目会传输到手表中。您可以通过
在 Favorites(我的最爱)中,您可以储存并管理 Polar Flow 网络服务中您最喜爱的训练目标。您的 M600 上的 Polar 应用程式一次最多可储存 20 个“我的最爱”。您可通过从Training(训练)下方的运动内容列表向左滑动来找到 Polar 应用程式上“我的最爱”训练目标。如果您的网络服务中收藏的最爱项目数量超过 20 个,则前 20 项会在同步时转移至 Polar 应用
收藏组件,其它应用可以公用 <a href="{:U('user/favorite/do_favorite')}" class="js-favorite-btn" data-title="收藏的内容标题" data-url="收藏的内容的url" data-key="{:sp_get_favorite_key('收藏内容所在表',收藏内容的id)}"></a> <!--如文章收藏:--> <a
问题内容: 我正在从Apache Collections 库中使用。我想对这些值进行排序。 我的方法是使用以下方法检索一个值: 这自然工作正常。 主要问题: 现在,我想知道如何将/转换(不确定哪个是正确的)转换为一个,以便可以对其进行排序? 然后,我打算遍历已排序的对象,该对象应该是有序的,并使用迭代器将位于的列表上的位置从()获取适当的键。 问题答案: 就像Erel Segal Halevi在下
本文向大家介绍js如何把网页加入收藏夹功能?相关面试题,主要包含被问及js如何把网页加入收藏夹功能?时的应答技巧和注意事项,需要的朋友参考一下