cari
RumahJavajavaTutorialcopy() dalam Java

Di Java, semasa menggunakan koleksi, kami menjumpai pelbagai senario untuk menyalin satu elemen senarai ke yang lain dengan langkah berjaga-jaga supaya indeks elemen tidak boleh terjejas semasa menyalin. Untuk jenis senario sedemikian, pakej java.util.Collections memberikan kami fungsi copy() yang menyalin elemen yang hadir dalam satu senarai ke dalam senarai yang lain, supaya elemen mempunyai indeks yang sama dalam senarai baharu juga. Semasa menggunakan fungsi ini, saiz senarai destinasi mestilah lebih besar daripada saiz senarai sumber. Kerumitan masa fungsi ini adalah linear.

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Sintaks dengan Parameter

Berikut ialah sintaks copy() dalam java dengan parameter:

Sintaks:

public static void copy(List dest, List src)
  • Di sini, kata kunci awam menyatakan bahawa fungsi ini boleh dipanggil dengan mudah dalam mana-mana kelas lain.
  • Kata kunci statik merujuk bahawa fungsi ini berfungsi pada peringkat kelas dan oleh itu keperluan akan dipanggil oleh fungsi statik lain sahaja serta boleh dipanggil menggunakan nama kelas tanpa menggunakan objek kelas.
  • Kata kunci void digunakan untuk menunjukkan fungsi ini tidak mengembalikan apa-apa.

Hujah:

  • dest: Ia ialah pembolehubah jenis Senarai yang memegang rujukan untuk senarai destinasi di mana data perlu disalin.
  • src: Ia ialah pembolehubah jenis Senarai yang memegang rujukan untuk senarai sumber yang perlu disalin.

Fungsi di atas melontarkan pengecualian di bawah:

  • IndexOutOfBoundsException: Pengecualian ini berlaku apabila saiz senarai destinasi lebih kecil daripada saiz senarai sumber.
  • UnsupportedOperationException: Pengecualian ini berlaku apabila lelang senarai senarai destinasi tidak menyokong operasi yang ditetapkan.

Bagaimana kaedah copy() berfungsi dalam Java?

  • Kaedah Copy() mengambil 2 senarai. Senarai sumber yang elemennya perlu disalin dan senarai destinasi di mana elemen senarai perlu disalin.
  • Pertama, ia disemak jika saiz senarai destinasi lebih besar daripada senarai sumber; jika tidak, pengecualian IndexOutOfBoundsException dilemparkan.
  • Ini menunjukkan bahawa JVM tidak dapat mencari indeks untuk elemen yang perlu disalin kerana semasa menyalin elemen dari senarai sumber ke senarai destinasi, indeks elemen juga dijaga. Jika sekiranya terdapat satu elemen dalam senarai destinasi pada indeks yang sama, elemen tertentu akan ditimpa oleh elemen penyalin.
  • Elemen lain daripada senarai sumber disalin satu demi satu dengan nilai indeksnya dan akan disalin ke senarai destinasi pada indeks yang sama. Unsur yang terdapat pada indeks lain dalam senarai destinasi kekal tidak berubah.
  • Keseluruhan operasi ini dilakukan menggunakan satu lelaran elemen, oleh itu mempunyai kerumitan masa linear yang bermaksud kerumitan ialah O(n).

Contoh copy() dalam Java

Diberikan di bawah adalah contoh yang dinyatakan di bawah:

Contoh #1

Untuk menggambarkan kejadian IndexOutOfBoundsException apabila saiz senarai destinasi kurang daripada senarai sumber.

Kod:

import java.util.*;
public class Demo {
public static void main(String[] args) {
List<string> mysrclist = new ArrayList<string>(6);
List<string> mydestlist = new ArrayList<string>(11);
mysrclist.add("Lets practice");
mysrclist.add("Java");
mysrclist.add("with US");
mysrclist.add("EDUCBA");
mysrclist.add("is a great");
mysrclist.add("Learnig Platform");
Collections.copy(mydestlist, mysrclist);
System.out.println("Elements of source list: "+mysrclist);
System.out.println("Elements of destination list: "+mydestlist);
}
}</string></string></string></string>

Output:

Memandangkan saiz senarai destinasi ialah 0 dan saiz senarai sumber ialah 6, tiada tempat dalam senarai destinasi pada indeks tertentu itu; oleh itu, pengecualian di bawah ini dibuang sebagai output.

copy() dalam Java

Explanation:

  • Dalam kes program di atas, 2 senarai diambil dan dihantar ke kaedah copy() sebagai argumen, tetapi memandangkan saiz senarai destinasi adalah lebih kecil daripada saiz senarai sumber, oleh itu, IndexOutOfBoundsException berlaku.
  • Isu seperti itu diselesaikan dalam contoh di bawah, dengan saiz senarai destinasi adalah sama dengan senarai sumber.

Contoh #2

Kod:

import java.util.*;
public class Demo {
public static void main(String[] args) {
List<string> mysrclist = new ArrayList<string>(6);
List<string> mydestlist = new ArrayList<string>(11);
mysrclist.add("Lets practice");
mysrclist.add("Java");
mysrclist.add("with US");
System.out.println("Elements of source list: "+mysrclist);
mydestlist.add("EDUCBA");
mydestlist.add("is a great");
mydestlist.add("Learnig Platform");
System.out.println("Elements of destination list before copy() executes: "+mydestlist);
Collections.copy(mydestlist, mysrclist);
System.out.println("Elements of destination list after copy() executes: "+mydestlist);       }
}</string></string></string></string>

Output:

copy() dalam Java

Penjelasan:

  • Senarai sumber mempunyai 3 elemen pada indeks 0,1 dan 2 sama seperti senarai destinasi dalam contoh di atas.
  • Apabila 2 senarai ini diluluskan dalam fungsi salin, memandangkan saiz 2 senarai adalah sama, elemen dalam senarai destinasi akan ditimpa oleh elemen senarai sumber pada indeks yang sama.

Contoh #3

Dalam contoh ini, kita akan melihat cara elemen senarai destinasi ditimpa apabila elemen senarai sumber disalin ke dalamnya.

Kod:

import java.util.*;
public class Demo {
public static void main(String[] args) {
//Create lists for source and destination
List<string> mysrclist = new ArrayList<string>(6);
List<string> mydestlist = new ArrayList<string>(11);
//Populate two source and destination lists
mysrclist.add("DIgital Learning");
mysrclist.add("for Java");
mysrclist.add("is great");
System.out.println("Elements of source list: "+mysrclist);
mydestlist.add("Book Learning");
mydestlist.add("is");
mydestlist.add("a great");
mydestlist.add("Learnig Platform");
mydestlist.add("For All");
System.out.println("Elements of destination list before copying : "+mydestlist);
// copy into destination list
Collections.copy(mydestlist, mysrclist);
System.out.println("Elements of destination list after copying : "+mydestlist);
}
}</string></string></string></string>

Output:

copy() dalam Java

Penjelasan:

  • Di sini kami melihat elemen pada 3 indeks pertama dalam senarai destinasi ditimpa apabila elemen disalin ke dalamnya dan elemen pada indeks lain kekal tidak terjejas.

Kesimpulan

Pakej koleksi menyediakan kami kaedah statik awam yang boleh digunakan untuk menyalin satu elemen senarai sumber ke dalam senarai destinasi pada indeks yang sama. Kaedah ini hanya berfungsi dalam senarai destinasi, yang lebih besar daripada senarai sumber, dan operasi ini mempunyai kerumitan masa linear.

Atas ialah kandungan terperinci copy() dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?Mar 17, 2025 pm 05:46 PM

Artikel ini membincangkan menggunakan Maven dan Gradle untuk Pengurusan Projek Java, membina automasi, dan resolusi pergantungan, membandingkan pendekatan dan strategi pengoptimuman mereka.

Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Bagaimanakah saya membuat dan menggunakan perpustakaan Java Custom (fail JAR) dengan pengurusan versi dan pergantungan yang betul?Mar 17, 2025 pm 05:45 PM

Artikel ini membincangkan membuat dan menggunakan perpustakaan Java tersuai (fail balang) dengan pengurusan versi dan pergantungan yang betul, menggunakan alat seperti Maven dan Gradle.

Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?Mar 17, 2025 pm 05:44 PM

Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?Mar 17, 2025 pm 05:43 PM

Artikel ini membincangkan menggunakan JPA untuk pemetaan objek-relasi dengan ciri-ciri canggih seperti caching dan pemuatan malas. Ia meliputi persediaan, pemetaan entiti, dan amalan terbaik untuk mengoptimumkan prestasi sambil menonjolkan potensi perangkap. [159 aksara]

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?Mar 17, 2025 pm 05:35 PM

Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.