La clase Vector implementa una array creciente de objetos. Los vectores básicamente pertenecen a las clases heredadas, pero ahora son totalmente compatibles con las colecciones. Se encuentra en el paquete java.util e implementa la interfaz List , por lo que podemos usar todos los métodos de la interfaz List aquí. Este programa se utiliza para ordenar la array 2D a lo largo de la diagonal izquierda. Usaremos el concepto de vector para ordenar la diagonal izquierda antes de lo cual nos referiremos a la siguiente ilustración de la siguiente manera.
Ilustración: Creación de un vector
Vector(): crea un vector predeterminado de la capacidad inicial es 10.
Vector<E> v = new Vector<E>();
Algoritmo:
- Atraviesa el elemento Diagonal uno por uno. La condición es (i==j) o (arr[i][i])
- Agregue elementos de Diagonal en el vector v.
- Ordenar el vector.
- Empuje hacia atrás los elementos ordenados de vector a Diagonal.
Ahora analicemos las funciones que se utilizarán en el enfoque anterior antes de aterrizar en la parte de implementación.
A. removeAll(): El método java.util.vector.removeAll(Collection col) se utiliza para eliminar todos los elementos del vector, presentes en la colección especificada.
Sintaxis:
Vector.removeAll(Vector);
B. Collections.sort(): Este método se utiliza para ordenar el vector.
Sintaxis:
Collections.sort(Vector) ;
C. add(): Sirve para agregar elementos en el vector.
Sintaxis:
Vector.add(value) ;
D. get(): este método obtendrá un elemento de Vector almacenado en un índice particular.
Sintaxis:
Vector.get(3);
Ejemplo:
Java
// Java Program to Sort 2D Array Across Left Diagonal // Importing required classes import java.io.*; import java.lang.*; import java.util.*; // Main class class GFG { // Main driver method public static void main(String[] args) throws java.lang.Exception { // Custom input 2D array int[][] arr = { { 5, 2, 0, 7, 1 }, { 3, 4, 2, 9, 14 }, { 5, 1, 3, 5, 2 }, { 4, 2, 6, 2, 1 }, { 0, 6, 3, 5, 1 }, { 1, 4, 7, 2, 8 } }; // Display message System.out.println("Matrix without sorting \n"); // Nested for loops to display 2D matrix for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { // Printing elements System.out.print(arr[i][j] + " "); } // By now we are done with one row so // new line is needed System.out.println(); } // Creating an object of Vector class Vector<Integer> v = new Vector<>(); // Adding elements of diagonal in vector // using add() method for (int i = 0; i < 5; i++) { v.add(arr[i][i]); } // Sorting elements in vector // using Collections.sort() method Collections.sort(v); // Sorted elements are pushed back from vector to // row using get() method for (int j = 0; j < 5; j++) { arr[j][j] = v.get(j); } // Display message System.out.println("Matrix after sorting \n"); // Nested for loops to display 2D matrix for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { System.out.print(arr[i][j] + " "); } System.out.println(); } } }
Matrix without sorting 5 2 0 7 1 3 4 2 9 14 5 1 3 5 2 4 2 6 2 1 0 6 3 5 1 Matrix after sorting 1 2 0 7 1 3 2 2 9 14 5 1 3 5 2 4 2 6 4 1 0 6 3 5 5
Publicación traducida automáticamente
Artículo escrito por akshitsaxenaa09 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA