我有一个链表,我想制作该链表的副本。克隆运行速度比创建新实例更快,然后为它分配值? 例如,我有
LinkedList<MyClass> list2 = list.clone();
使用clone:
LinkedList<MyClass> list2 = new LinkedList<MyClass>();
for(MyClass myclass : list){
list2.add(myclass);
}
使用构造函数:
<LinearLayout
android:id="@+id/images_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_refresh_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/imagesList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="05dp"
android:layout_marginTop="05dp"
android:divider="@android:color/transparent"
android:dividerHeight="0.0sp" />
</android.support.v4.widget.SwipeRefreshLayout>
</LinearLayout>
答案 0 :(得分:2)
最好使用浅拷贝构造函数。您编写了使用构造函数而未使用。你正在循环它。
其中我建议使用
ogc-schemas
事情的真相是,您不能通过实施Cloneable并提供除复制能力之外的公共克隆方法来为您的客户提供任何功能。如果您提供具有不同名称的复制操作并且您没有实现Cloneable,那么这并不比您获得的更好。这基本上就是你用复制构造函数做的事情。复制构造方法有几个优点,我在本书中讨论。一个很大的优点是可以使副本具有与原始副本不同的表示。例如,您可以将LinkedList复制到ArrayList。