Convert two dimensional array to List in java?

Convert two dimensional array to List in java?

To convert a two-dimensional array (an array of arrays) to a List in Java, you can use Java Streams introduced in Java 8. Depending on whether you want a List of lists or a single flat List, the approach will differ.

1. Convert Two-Dimensional Array to List of Lists

If you want to convert a 2D array to a List where each element is a list representing a row of the 2D array:

Example:

import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Convert2DArrayToListOfLists { public static void main(String[] args) { // Create a two-dimensional array String[][] array = { {"apple", "banana", "cherry"}, {"date", "elderberry", "fig"}, {"grape", "honeydew", "kiwi"} }; // Convert the two-dimensional array to a List of Lists List<List<String>> listOfLists = Arrays.stream(array) .map(Arrays::asList) .collect(Collectors.toList()); // Print the result listOfLists.forEach(System.out::println); } } 

Explanation

  • Arrays.stream(array): Converts the 2D array to a stream of arrays (each sub-array is a row).
  • map(Arrays::asList): Converts each sub-array to a List.
  • collect(Collectors.toList()): Collects the results into a List of List.

2. Convert Two-Dimensional Array to a Flat List

If you want to convert a 2D array into a single flat List:

Example:

import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Convert2DArrayToFlatList { public static void main(String[] args) { // Create a two-dimensional array String[][] array = { {"apple", "banana", "cherry"}, {"date", "elderberry", "fig"}, {"grape", "honeydew", "kiwi"} }; // Convert the two-dimensional array to a flat List List<String> flatList = Arrays.stream(array) .flatMap(Arrays::stream) .collect(Collectors.toList()); // Print the result flatList.forEach(System.out::println); } } 

Explanation

  • Arrays.stream(array): Converts the 2D array to a stream of arrays (each sub-array is a row).
  • flatMap(Arrays::stream): Flattens the stream of arrays into a single stream of elements.
  • collect(Collectors.toList()): Collects the results into a flat List.

Summary

  • List of Lists: Use map(Arrays::asList) to convert each sub-array to a List, then collect into a List of List.
  • Flat List: Use flatMap(Arrays::stream) to flatten the 2D array into a single stream of elements, then collect into a flat List.

Choose the method based on whether you want a nested List structure or a flat List.

Examples

  1. "java - Convert 2D array to List of Lists"

    • Description: Convert a two-dimensional array into a List of List objects, where each sub-list represents a row from the array.
    • Code:
      import java.util.ArrayList; import java.util.List; public class Convert2DArray { public static void main(String[] args) { int[][] array = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; List<List<Integer>> list = new ArrayList<>(); for (int[] row : array) { List<Integer> subList = new ArrayList<>(); for (int element : row) { subList.add(element); } list.add(subList); } System.out.println(list); } } 
  2. "java - Convert 2D array to flat List"

    • Description: Convert a two-dimensional array into a flat List where all elements are in a single list.
    • Code:
      import java.util.ArrayList; import java.util.List; public class Convert2DArrayToFlatList { public static void main(String[] args) { int[][] array = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; List<Integer> flatList = new ArrayList<>(); for (int[] row : array) { for (int element : row) { flatList.add(element); } } System.out.println(flatList); } } 
  3. "java - Convert 2D int array to List of Integer arrays"

    • Description: Convert a two-dimensional int array to a List of Integer[] arrays.
    • Code:
      import java.util.ArrayList; import java.util.List; public class Convert2DIntArray { public static void main(String[] args) { int[][] array = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; List<Integer[]> list = new ArrayList<>(); for (int[] row : array) { Integer[] integerArray = new Integer[row.length]; for (int i = 0; i < row.length; i++) { integerArray[i] = row[i]; } list.add(integerArray); } System.out.println(list); } } 
  4. "java - Convert 2D array to List of Lists with Streams"

    • Description: Convert a two-dimensional array to a List of List objects using Java Streams for a more functional approach.
    • Code:
      import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Convert2DArrayWithStreams { public static void main(String[] args) { int[][] array = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; List<List<Integer>> list = Arrays.stream(array) .map(row -> Arrays.stream(row) .boxed() .collect(Collectors.toList())) .collect(Collectors.toList()); System.out.println(list); } } 
  5. "java - Convert 2D double array to List of Lists"

    • Description: Convert a two-dimensional double array into a List of List<Double> objects.
    • Code:
      import java.util.ArrayList; import java.util.List; public class Convert2DDoubleArray { public static void main(String[] args) { double[][] array = { {1.1, 2.2, 3.3}, {4.4, 5.5, 6.6}, {7.7, 8.8, 9.9} }; List<List<Double>> list = new ArrayList<>(); for (double[] row : array) { List<Double> subList = new ArrayList<>(); for (double element : row) { subList.add(element); } list.add(subList); } System.out.println(list); } } 
  6. "java - Convert 2D boolean array to List of Lists"

    • Description: Convert a two-dimensional boolean array into a List of List<Boolean> objects.
    • Code:
      import java.util.ArrayList; import java.util.List; public class Convert2DBooleanArray { public static void main(String[] args) { boolean[][] array = { {true, false, true}, {false, true, false}, {true, false, true} }; List<List<Boolean>> list = new ArrayList<>(); for (boolean[] row : array) { List<Boolean> subList = new ArrayList<>(); for (boolean element : row) { subList.add(element); } list.add(subList); } System.out.println(list); } } 
  7. "java - Convert 2D char array to List of Lists"

    • Description: Convert a two-dimensional char array into a List of List<Character> objects.
    • Code:
      import java.util.ArrayList; import java.util.List; public class Convert2DCharArray { public static void main(String[] args) { char[][] array = { {'a', 'b', 'c'}, {'d', 'e', 'f'}, {'g', 'h', 'i'} }; List<List<Character>> list = new ArrayList<>(); for (char[] row : array) { List<Character> subList = new ArrayList<>(); for (char element : row) { subList.add(element); } list.add(subList); } System.out.println(list); } } 
  8. "java - Convert 2D array to List with nested for loops"

    • Description: Use nested for loops to convert a two-dimensional array to a list of lists.
    • Code:
      import java.util.ArrayList; import java.util.List; public class Convert2DArrayWithNestedLoops { public static void main(String[] args) { int[][] array = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; List<List<Integer>> list = new ArrayList<>(); for (int i = 0; i < array.length; i++) { List<Integer> subList = new ArrayList<>(); for (int j = 0; j < array[i].length; j++) { subList.add(array[i][j]); } list.add(subList); } System.out.println(list); } } 
  9. "java - Convert 2D array to List of arrays using Java 8"

    • Description: Convert a two-dimensional array to a List of arrays using Java 8 features.
    • Code:
      import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Convert2DArrayToListOfArrays { public static void main(String[] args) { int[][] array = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; List<int[]> list = Arrays.stream(array).map(row -> Arrays.copyOf(row, row.length)) .collect(Collectors.toList()); for (int[] arr : list) { System.out.println(Arrays.toString(arr)); } } } 
  10. "java - Convert 2D array to List using Guava"

    • Description: Use Guava's Lists utility to convert a two-dimensional array to a list of lists.
    • Code:
      import com.google.common.collect.Lists; import java.util.List; public class Convert2DArrayWithGuava { public static void main(String[] args) { int[][] array = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; List<List<Integer>> list = Lists.transform( Lists.newArrayList(array), row -> Lists.newArrayList(row) ); System.out.println(list); } } 

More Tags

barcode vector moving-average wifimanager embed hashmap promise fibonacci react-native-flatlist panel

More Programming Questions

More Biochemistry Calculators

More Animal pregnancy Calculators

More Organic chemistry Calculators

More Chemical reactions Calculators