copy() in Java
In Java stoßen wir bei der Verwendung von Sammlungen auf verschiedene Szenarien, in denen die Elemente einer Liste in die andere kopiert werden, wobei darauf zu achten ist, dass der Index der Elemente beim Kopieren nicht beeinträchtigt wird. Für solche Szenarien stellt uns das Paket java.util.Collections eine Funktion copy() zur Verfügung, die in einer Liste vorhandene Elemente in die andere Liste kopiert, sodass Elemente auch in der neuen Liste denselben Index haben. Bei Verwendung dieser Funktion muss die Größe der Zielliste größer sein als die Größe der Quellliste. Diesmal ist die Komplexität dieser Funktion linear.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Syntax mit Parametern
Es folgt eine Syntax von copy() in Java mit Parametern:
Syntax:
public static void copy(List dest, List src)
- Hier gibt das Schlüsselwort public an, dass diese Funktion problemlos in jeder anderen Klasse aufgerufen werden kann.
- Statisches Schlüsselwort bezieht sich darauf, dass diese Funktion auf Klassenebene funktioniert und daher nur von anderen statischen Funktionen aufgerufen werden muss und auch unter Verwendung eines Klassennamens aufgerufen werden kann, der nicht das Objekt der Klasse verwendet.
- Das Schlüsselwort „Void“ wird verwendet, um anzugeben, dass diese Funktion nichts zurückgibt.
Argumente:
- Ziel: Es handelt sich um eine Variable vom Typ Liste, die die Referenz für die Zielliste enthält, in die Daten kopiert werden müssen.
- src: Es handelt sich um eine Variable vom Typ Liste, die die Referenz für die Quellliste enthält, die kopiert werden muss.
Die obige Funktion löst die folgende Ausnahme aus:
- IndexOutOfBoundsException: Diese Ausnahme tritt auf, wenn die Größe der Zielliste kleiner als die Größe der Quellliste ist.
- UnsupportedOperationException: Diese Ausnahme tritt auf, wenn der Listeniterator der Zielliste den Set-Vorgang nicht unterstützt.
Wie funktioniert die copy()-Methode in Java?
- Die Copy()-Methode benötigt 2 Listen. Quellliste, deren Elemente kopiert werden müssen, und Zielliste, in die die Elemente der Liste kopiert werden müssen.
- Zuerst wird geprüft, ob die Größe der Zielliste größer als die der Quellliste ist; Andernfalls wird die IndexOutOfBoundsException-Ausnahme ausgelöst.
- Dies weist darauf hin, dass JVM den Index für das zu kopierende Element nicht finden kann, da beim Kopieren des Elements von der Quellliste in die Zielliste auch der Index des Elements berücksichtigt wird. Wenn in der Zielliste ein Element am gleichen Index vorhanden ist, wird das jeweilige Element durch das kopierende Element überschrieben.
- Andere Elemente aus der Quellliste werden einzeln mit dem Wert ihres Index kopiert und an denselben Indizes in die Zielliste kopiert. Die in anderen Indizes in der Zielliste vorhandenen Elemente bleiben unverändert.
- Dieser gesamte Vorgang wird mit einer einzigen Iteration von Elementen durchgeführt und weist daher eine lineare Zeitkomplexität auf, was bedeutet, dass die Komplexität O(n) ist.
Beispiele für copy() in Java
Im Folgenden finden Sie die unten genannten Beispiele:
Beispiel #1
Um das Auftreten von IndexOutOfBoundsException zu veranschaulichen, wenn die Größe der Zielliste kleiner als die Quellliste ist.
Code:
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); } }
Ausgabe:
Da die Größe der Zielliste 0 und die Größe der Quellliste 6 beträgt, gibt es in der Zielliste an diesem bestimmten Index keinen Platz; Daher wird die folgende Ausnahme als Ausgabe ausgelöst.
EErklärung:
- Im Fall des obigen Programms werden 2 Listen genommen und als Argumente an die copy()-Methode gesendet, aber da die Größe der Zielliste kleiner als die Größe der Quellliste ist, tritt IndexOutOfBoundsException auf.
- Ein solches Problem wird im folgenden Beispiel gelöst, in dem die Größe der Zielliste mit der Quellliste übereinstimmt.
Beispiel #2
Code:
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); } }
Ausgabe:
Erklärung:
- Die Quellliste hat 3 Elemente bei 0,1 und 2 Index, genau wie die Zielliste im obigen Beispiel.
- Wenn diese beiden Listen in der Kopierfunktion übergeben werden, werden Elemente in der Zielliste durch die Elemente der Quellliste mit denselben Indizes überschrieben, da die Größe der beiden Listen gleich ist.
Beispiel #3
In diesem Beispiel sehen wir, wie die Elemente der Zielliste überschrieben werden, wenn Elemente der Quellliste hinein kopiert werden.
Code:
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); } }
Ausgabe:
Erklärung:
- Hier haben wir gesehen, dass die Elemente an den ersten drei Indizes in der Zielliste überschrieben werden, wenn Elemente dorthin kopiert werden, und Elemente an anderen Indizes bleiben davon unberührt.
Fazit
Das Collections-Paket stellt uns eine öffentliche statische Methode zur Verfügung, mit der die Elemente einer Quellliste an denselben Indizes in die Zielliste kopiert werden können. Diese Methode funktioniert nur in der Zielliste, die größer als die Quellliste ist, und dieser Vorgang hat eine lineare Zeitkomplexität.
Das obige ist der detaillierte Inhalt voncopy() in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











PHP und Python haben jeweils ihre eigenen Vorteile, und die Wahl sollte auf Projektanforderungen beruhen. 1.PHP eignet sich für die Webentwicklung mit einfacher Syntax und hoher Ausführungseffizienz. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit präziser Syntax und reichhaltigen Bibliotheken.

PHP ist eine Skriptsprache, die auf der Serverseite weit verbreitet ist und insbesondere für die Webentwicklung geeignet ist. 1.PHP kann HTML einbetten, HTTP -Anforderungen und Antworten verarbeiten und eine Vielzahl von Datenbanken unterstützt. 2.PHP wird verwendet, um dynamische Webinhalte, Prozessformdaten, Zugriffsdatenbanken usw. mit starker Community -Unterstützung und Open -Source -Ressourcen zu generieren. 3. PHP ist eine interpretierte Sprache, und der Ausführungsprozess umfasst lexikalische Analyse, grammatikalische Analyse, Zusammenstellung und Ausführung. 4.PHP kann mit MySQL für erweiterte Anwendungen wie Benutzerregistrierungssysteme kombiniert werden. 5. Beim Debuggen von PHP können Sie Funktionen wie error_reporting () und var_dump () verwenden. 6. Optimieren Sie den PHP-Code, um Caching-Mechanismen zu verwenden, Datenbankabfragen zu optimieren und integrierte Funktionen zu verwenden. 7

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

PHP eignet sich für die Webentwicklung, insbesondere für die schnelle Entwicklung und Verarbeitung dynamischer Inhalte, ist jedoch nicht gut in Anwendungen auf Datenwissenschaft und Unternehmensebene. Im Vergleich zu Python hat PHP mehr Vorteile in der Webentwicklung, ist aber nicht so gut wie Python im Bereich der Datenwissenschaft. Im Vergleich zu Java wird PHP in Anwendungen auf Unternehmensebene schlechter, ist jedoch flexibler in der Webentwicklung. Im Vergleich zu JavaScript ist PHP in der Back-End-Entwicklung präziser, ist jedoch in der Front-End-Entwicklung nicht so gut wie JavaScript.

PHP und Python haben jeweils ihre eigenen Vorteile und eignen sich für verschiedene Szenarien. 1.PHP ist für die Webentwicklung geeignet und bietet integrierte Webserver und reichhaltige Funktionsbibliotheken. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit prägnanter Syntax und einer leistungsstarken Standardbibliothek. Bei der Auswahl sollte anhand der Projektanforderungen festgelegt werden.

PhPhas significantantyPactedWebDevelopmentAndendendsbeyondit.1) iTpowersMAjorPlatforms-LikewordpressandExcelsInDatabaseInteractions.2) php'SadaptabilityAllowStoscaleForLargeApplicationsfraMe-Linien-Linien-Linien-Linienkripte

Die Gründe, warum PHP für viele Websites der bevorzugte Technologie -Stack ist, umfassen die Benutzerfreundlichkeit, die starke Unterstützung der Community und die weit verbreitete Verwendung. 1) Einfach zu erlernen und zu bedienen, geeignet für Anfänger. 2) eine riesige Entwicklergemeinschaft und eine reichhaltige Ressourcen haben. 3) in WordPress, Drupal und anderen Plattformen häufig verwendet. 4) Integrieren Sie eng in Webserver, um die Entwicklung der Entwicklung zu vereinfachen.

PHP eignet sich für Webentwicklungs- und Content -Management -Systeme, und Python eignet sich für Datenwissenschafts-, maschinelles Lernen- und Automatisierungsskripte. 1.PHP hat eine gute Leistung beim Erstellen von schnellen und skalierbaren Websites und Anwendungen und wird üblicherweise in CMS wie WordPress verwendet. 2. Python hat sich in den Bereichen Datenwissenschaft und maschinelles Lernen mit reichen Bibliotheken wie Numpy und TensorFlow übertrifft.
