Gibt es eine vordefinierte Methode für Array in Java, mit der man zwei Elemente direkt vertauschen kann? Wir können eine Funktion mit oder ohne temporäre Variable verwenden, das ist in Ordnung. Aber ich möchte wissen, gibt es irgendeine Methode wie Arrays.sort() zum Swapping?Elemente im Array austauschen (Java)
Antwort
Gibt es eine vordefinierte Methode für Array in Java mit der man direkt zwei Elemente austauschen kann?
Die Standard-Java-API hat keine Funktion zum Austauschen von Array-Elementen. Aber Sie können Elemente der Liste mit Collections.swap(list, index1, index2);
tauschen und Sie können Array zu Liste konvertieren und Swap ausführen und dann Liste in Array konvertieren.
Wenn Sie diese Operation nicht durchführen möchten, können Sie in eine Bibliothek von Drittanbietern schauen, die eine solche Funktion bereitstellen kann.
Sie können auch Ihre eigene generische Funktion erstellen.
Zum Beispiel
public class Test {
@SuppressWarnings("unchecked")
public static <T> void swap(T[] arr, int index1, int index2) {
// Need to add null check and index checks
List<T> list = Arrays.asList(arr);
Collections.swap(list, index1, index2);
arr = (T[]) list.toArray();
}
public static void main(String[] args) {
Integer[] arr = { 1, 2, 3, 4, 5 };
swap(arr, 1, 2);
System.out.println(Arrays.asList(arr));
}
}
OUTPUT
[1, 3, 2, 4, 5]
NOTES:
- Above Funktion wird nicht für primitive Arrays arbeiten
- SuppressWarnings wird hinzugefügt, um die Deaktivierung der Casting-Warnung zu vermeiden
Sie müssen swap
Methode der List
Schnittstelle verwenden. Die Definition von List.swap
geht so ...
public static <E> void swap(List<E> a, int i, int j) {
E tmp = a.get(i);
a.set(i, a.get(j));
a.set(j, tmp);
}
Die doc sagt, dass This is a polymorphic algorithm: It swaps two elements in any List, regardless of its implementation type.
Wenn Sie mit java Collections
nicht vertraut sind, dann müssen Sie zuerst mit ihm selbst vertraut.
- 1. Wie Array-Elemente in PHP austauschen?
- 2. Elemente in einer Liste vergleichen und austauschen. Java
- 3. ‚undefined‘ Elemente im Array
- 4. Array-Elemente Vergleich Java
- 5. Die Position von Elementen in einem Array in Java austauschen?
- 6. Austauschen von Zeichen im Zeichenfolgenarray
- 7. Python: Werte in einem Array austauschen
- 8. Wie Array-Index in PHP austauschen?
- 9. C - generische Funktion: Tausche zwei Elemente im Array
- 10. Verkappte Bilder im Canvas-Bereich austauschen
- 11. System.currentTimeMillis Java-Software und Android austauschen
- 12. Fehler beim Vergleich zweier Elemente im Array
- 13. Multiplizieren Sie alle Elemente im Array
- 14. Die Anzahl der Elemente im Array zählen
- 15. Compilation Warning.Excess Elemente im Array Initialisierer
- 16. C++ lesen jeweils 3 Elemente im Array
- 17. Nicht definierte Elemente im Struktur-Array
- 18. Perl: Zähle einzigartige Elemente im Array
- 19. Java: Array Elemente null und int-Werte
- 20. Wie deklarieren Array Elemente in Java flüchtig?
- 21. Array Elemente in mehrdimensionalen Arrays in Java
- 22. Doppelnummer im Array findet java
- 23. Gleiche JSON-Objekte im Array beim Empfang verschiedener Array-Elemente
- 24. Zwei HTML-Elemente visuell und im DOM austauschen und alles animieren?
- 25. Exchange ListBox-Elemente zwischen zwei separaten Projekten austauschen
- 26. Array-Elemente sicher veröffentlichen
- 27. Austauschen des Seitenlistencontrollers in Concrete5
- 28. Elemente im Raster anzeigen?
- 29. Austauschen von Array-Werten mit for und yield scala
- 30. Java ArrayList.add() ersetzt alle Elemente im Array mit dem letzten Element
Was ist ein Array, das ausgetauscht werden soll, wenn es mehr als 2 Elemente enthält ??? – haifzhan
Collections.swap (Liste > Liste, int i, int j); –
@Bhatt Wird Array unter Liste fallen? –