# Java Program to Sort 2D Array Across Columns

• Last Updated : 16 Sep, 2021

The Vector class implements a growable array of objects. Vectors basically fall in legacy classes but now it is fully compatible with collections. It is found in the java.util package and implements the List interface, so we can use all the methods of List interface here. This program is used to Sort the 2D array Across Columns. We will use the concept of vector to sort each column.

Algorithm:

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

1. Traverse each column one by one.
2. Add elements of Column 1 in vector v.
3. Sort the vector.
4. Push back the sorted elements from vector to column.
5. Empty the vector by removing all elements for fresh sorting.
6. Repeat the above steps until all columns are done.

Illustration: Creating a Vector

Here we are creating a default vector of the initial capacity is 10 so do the syntax is as follows:

`Vector<E> v = new Vector<E>();`

Functions that will be used in order to achieve the goal are as follows:

A. removeAll(): The java.util.vector.removeAll(Collection col) method is used to remove all the elements from the vector, present in the collection specified.

Syntax:

`Vector.removeAll(Vector)  `

B. Collections.sort(): This method is used to sort the vector.

Syntax:

`Collections.sort(Vector)`

C. add(): This method is used to add elements in the vector.

Syntax:

`Vector.add(value)`

D. get(): This method will get the element of Vector stored at a particular index

Syntax:

`Vector.get(3);`

Example

## Java

 `// Java Program to Sort 2D array across Columns` `// 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 for 2D array``        ``int``[][] arr = { { ``7``, ``2``, ``0``, ``5``, ``1` `},``                        ``{ ``3``, ``8``, ``2``, ``9``, ``14` `},``                        ``{ ``5``, ``1``, ``0``, ``5``, ``2` `},``                        ``{ ``4``, ``2``, ``6``, ``0``, ``1` `} };` `        ``// Display message for better readability``        ``System.out.println(``"Matrix without sorting \n"``);` `        ``// Nested iteration to display matrix``        ``for` `(``int` `i = ``0``; i < ``4``; i++) {` `            ``for` `(``int` `j = ``0``; j < ``5``; j++) {` `                ``// Printing elements of 2D matrix``                ``System.out.print(arr[i][j] + ``" "``);``            ``}``            ``// New line as we are done with row``            ``System.out.println();``        ``}` `        ``// Creating an object of Vector class``        ``Vector v = ``new` `Vector<>();` `        ``// Nested iteration using for loops``        ``for` `(``int` `i = ``0``; i < ``5``; i++) {``            ``for` `(``int` `j = ``0``; j < ``4``; j++) {` `                ``// Adding elements of columns in vector``                ``// using add() method``                ``v.add(arr[j][i]);``            ``}` `            ``// Sorting elements in vector``            ``// using sort() method``            ``Collections.sort(v);` `            ``for` `(``int` `j = ``0``; j < ``4``; j++) {` `                ``// Sorted elements are pushed back``                ``// from vector to column``                ``arr[j][i] = v.get(j);``            ``}` `            ``// Elements are removed from vector for``            ``// fresh sorting using remove() method``            ``v.removeAll(v);``        ``}` `        ``// Printing matrix after sorting``        ``System.out.println(``"Matrix after sorting \n"``);` `        ``for` `(``int` `i = ``0``; i < ``4``; i++) {``            ``for` `(``int` `j = ``0``; j < ``5``; j++) {` `                ``System.out.print(arr[i][j] + ``" "``);``            ``}` `            ``System.out.println();``        ``}``    ``}``}`
Output
```Matrix without sorting

7 2 0 5 1
3 8 2 9 14
5 1 0 5 2
4 2 6 0 1
Matrix after sorting

3 1 0 0 1
4 2 0 5 1
5 2 2 5 2
7 8 6 9 14 ```

My Personal Notes arrow_drop_up