clone()
متد clone() در LinkedList یک کپی لینکدلیست می سازد. این کپی کم عمق است؛ یعنی فقط خود لیست کپی می شود، نه اشیای داخلش. بنابراین، ارجاع ها همان قبلی می مانند.
تعریف ساده کپی لینکدلیست
طبق منبع، clone() یک شیء از نوع Object برمی گرداند. پس برای استفاده به صورت LinkedList باید تایپ کست کنی؛ یعنی نوع خروجی را به نوع هدف تبدیل کنی.
سینتکس (Syntax)
public Object clone()
مثال: کپی کم عمق و تغییر آیتم
در این مثال، یک لیست را کپی می کنیم و سپس یک آیتم را در کپی عوض می کنیم.
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> cars = new LinkedList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
LinkedList cars2 = (LinkedList) cars.clone();
cars2.set(0, "Toyota");
System.out.println(cars);
System.out.println(cars2);
}
}
گام های عملی سریع
- یک LinkedList بساز و با چند آیتم پر کن.
- با
clone()کپی بگیر و تایپ کست کن. - یک آیتم را در کپی تغییر بده و خروجی ها را چاپ کن.
نکته: چون کپی کم عمق است، ارجاع ها مشترک اند.
هشدار: خروجی Object است؛ بدون تایپ کست، به متدهای LinkedList دسترسی نداری.
پیوندهای مرتبط
روش های LinkedList برای مشاهده فهرست متدها.
آموزش LinkedList برای مرور مفاهیم پایه.
W3Schools: LinkedList clone() صفحه مرجع همین متد.
W3Schools: LinkedList Tutorial آموزش کامل لینکدلیست.
جمع بندی سریع
clone()یک کپی کم عمق می سازد.- خروجی از نوع
Objectاست. - برای استفاده باید تایپ کست کنی.
- ساختار لیست جداست؛ ارجاع ها مشترک اند.