The transposition of a matrix is one of the most commonly studied questions in school or collages when learning Java Programs in practical labs.
Pseudo Logic Building
- First we declare a 2-dimensional array to represent a matrix.
- We add the values to the elements of the array.
- We find the dimension of the matrix - rows and column size.
- Create a new array (matrix) of the swapped dimensions - rows of our original array becomes columns and columns as row.
- Finally we loop the rows and columns of the original matrix and add these elements to the column and row of the transposed matrix.
- Finally we print our transposed matrix.
Java Program To Transpose A Matix
package org.code2care.java.arrays.examples;
import java.util.Arrays;
/**
* Java Program to transpose a
* Matrix
* <p>
* Author: Code2care.org
* Date: 28 Apr 2023
*/
public class JavaMatrixTranspose {
public static void main(String[] args) {
//2-D Matrix
int[][] originalMatrix = {
{1, 4},
{2, 5},
{3, 6}
};
int matrixRows = originalMatrix.length;
int matrixCols = originalMatrix[0].length;
//New matrix to store the transposed rows and columns
int[][] transpose = new int[matrixCols][matrixRows];
for (int i = 0; i < matrixRows; i++) {
for (int j = 0; j < matrixCols; j++) {
//copy into transposed originalMatrix
transpose[j][i] = originalMatrix[i][j];
}
}
System.out.println("Input Matrix:");
Arrays.stream(transpose)
.forEach(row -> {
Arrays.stream(row)
.forEach(element -> System.out.print(element + " "));
System.out.println();
});
System.out.println("Transposed Matrix:");
Arrays.stream(originalMatrix)
.forEach(row -> {
Arrays.stream(row)
.forEach(element -> System.out.print(element + " "));
System.out.println();
});
}
}
Output:
Input Matrix:
1 2 3
4 5 6
Transposed Matrix:
1 4
2 5
3 6
Let us see another example with a Square 3x3 matix.
Tranpose a 3x3 Matix in Java
package org.code2care.java.arrays.examples;
import java.util.Arrays;
/**
* Transpose 3x3 Matrix
* Author: Code2care.org
* Date: 28 Apr 2023
*/
public class JavaMatrixTranspose {
public static void main(String[] args) {
//3x3 Matrix
int[][] input3x3Matrix = {
{21, 14, 41},
{23, 53, 34},
{43, 46, 56}
};
int matrixRows = input3x3Matrix.length;
int matrixCols = input3x3Matrix[0].length;
int[][] transpose = new int[matrixCols][matrixRows];
for (int i = 0; i < matrixRows; i++) {
for (int j = 0; j < matrixCols; j++) {
transpose[j][i] = input3x3Matrix[i][j];
}
}
System.out.println("Input Matrix:");
Arrays.stream(transpose)
.forEach(row -> {
Arrays.stream(row)
.forEach(element -> System.out.print(element + " "));
System.out.println();
});
System.out.println("Transposed Matrix:");
Arrays.stream(input3x3Matrix)
.forEach(row -> {
Arrays.stream(row)
.forEach(element -> System.out.print(element + " "));
System.out.println();
});
}
}
Output:
Input Matrix:
21 23 43
14 53 46
41 34 56
Transposed Matrix:
21 14 41
23 53 34
43 46 56
Facing issues? Have Questions? Post them here! I am happy to answer!
Author Info:
Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.
Follow him on: X
You can also reach out to him via e-mail: rakesh@code2care.org
More Posts related to Java,
- Get the current timestamp in Java
- Java Stream with Multiple Filters Example
- Java SE JDBC with Prepared Statement Parameterized Select Example
- Fix: UnsupportedClassVersionError: Unsupported major.minor version 63.0
- [Fix] Java Exception with Lambda - Cannot invoke because object is null
- 7 deadly java.lang.OutOfMemoryError in Java Programming
- How to Calculate the SHA Hash Value of a File in Java
- Java JDBC Connection with Database using SSL (https) URL
- How to Add/Subtract Days to the Current Date in Java
- Create Nested Directories using Java Code
- Spring Boot: JDBCTemplate BatchUpdate Update Query Example
- What is CA FE BA BE 00 00 00 3D in Java Class Bytecode
- Save Java Object as JSON file using Jackson Library
- Adding Custom ASCII Text Banner in Spring Boot Application
- [Fix] Java: Type argument cannot be of primitive type generics
- List of New Features in Java 11 (JEPs)
- Java: How to Add two Maps with example
- Java JDBC Transition Management using PreparedStatement Examples
- Understanding and Handling NullPointerException in Java: Tips and Tricks for Effective Debugging
- Steps of working with Stored Procedures using JDBCTemplate Spring Boot
- Java 8 java.util.Function and BiFunction Examples
- The Motivation Behind Generics in Java Programming
- Get Current Local Date and Time using Java 8 DateTime API
- Java: Convert Char to ASCII
- Deep Dive: Why avoid java.util.Date and Calendar Classes
More Posts:
- Reading .xls and .xlsx Excel file using Apache POI Java Library - Java
- How to change file or directory owner in Linux - Linux
- Multiline EditText in Android Example - Android
- Show Desktop Keyboard Shortcut on Mac - MacOS
- Configure AWS Access ID and Secret Keys using CLI on Mac - AWS
- How to run a Command in Bash Script - Bash
- How to get Mobile Screen Resolution Width and Height programatically - Android
- [macOS] How to search or view previous terminal command history - MacOS