- How to print array in java
- Using Arrays.toString()
- Using deepToString() method
- Using Java 8 Stream API
- Using for loop
- Using for-each loop
- Print array in reverse order in java
- Print array with custom objects
- Was this post helpful?
- Share this
- Related Posts
- Author
- Related Posts
- Create Array from 1 to n in Java
- How to Print 2D Array in Java
- Return Empty Array in Java
- How to Write Array to File in Java
- How to Initialize an Array with 0 in Java
- Set an Array Equal to Another Array in Java
- Распечатать массив в Java
- Как печатать одномерные массивы?
- 1. Цикл for или расширенный цикл for
- 2. Arrays учебный класс — toString() или же deepToString() метод
- 3. Apache Commons Lang – ArrayUtils.toString() метод
- 4. Поток Java 8
- 5. Arrays.asList() или Guava Ints.asList()
- 10 часто используемых приёмов для работы с массивом в Java
How to print array in java
In this post, we will see how to print array in java.
There are multiple ways to print an array. Let’s go through few ways to print array in java.
Using Arrays.toString()
You can use Arrays.toString() method to print array in java. This is simplest ways to print an array.
Arrays.toString() returns string object.This String contains array in string format.
Let us understand with the code
Using deepToString() method
Basically Arrays.toString() works fine for a 1-dimensional arrays,but it won’t work for multidimensional arrays.
Let’s say we have 2-dimensional array as shown
1 2 3
4 5 6
7 8 9
To convert multidimensional arrays to string, you can use Arrays.deepToString() method. This is how you can print 2D array in java.
Using Java 8 Stream API
In java 8, you can convert array to Stream and print array with Stream’s foreach() method.
Arrays . stream ( string2DArray ) . flatMap ( str — > Arrays . stream ( str ) ) . forEach ( System . out : : println ) ;
Arrays . stream ( int2DArray ) . flatMapToInt ( i — > Arrays . stream ( i ) ) . forEach ( System . out : : println ) ;
As you can see we have seen how to print String array and Integer array in java using Stream.
Using for loop
You can iterate the array using for loop and print elements of array in java.
Using for-each loop
For each works same as for loop but with differs syntax.
Print array in reverse order in java
You can iterate the array using for loop in reverse order and print the element. This will print array in reverse order.
Print array with custom objects
In case, you have custom object in the array, then you should override toString() method in custom class, else it will give you unexpected results.
Let’s see with the help of example
Create a simple class named Color.java
Create main class named PrintArrayOfColors.java
If you notice, we don’t have toString() method in Color class, that’s why it is calling Object’s toString() method and we are not able to see meaningful results.
We need to override toString() method in Color class and we will get informative output.
When you run PrintListOfColorsMain again, you will get below output:
As you can see, we have much meaningful output now.
That’s all about how to print array in java.
Was this post helpful?
Share this
Next Write a Program to Find the Maximum Difference between Two Adjacent Numbers in an Array of Positive Integers
Related Posts
Author
Related Posts
Create Array from 1 to n in Java
Table of ContentsIntroductionArray in JavaCreate Array from 1 to N in JavaUsing Simple For loop in JavaUsing IntStream.range() method of Stream API in JavaUsing IntStream.rangeClosed() method of Stream API in JavaUsing IntStream.iterate() method of Stream API in JavaUsing the Stream class of Stream API in JavaUsing Arrays.setAll() method in JavaUsing Eclipse Collections Framework in JavaUsing […]
How to Print 2D Array in Java
Table of ContentsIntroductionWhat is a 2-dimensional array or matrix in java?How to print a 2D array in java?Simple Traversal using for and while loopUsing For-Each Loop to print 2D Array in JavaArrays.toString() method to print 2D Array in JavaArrays.deepToString() method to print 2D Array in JavaUsing Stream API in Java 8 to print a 2D […]
Return Empty Array in Java
Table of ContentsWhat Is the Need to Return an Empty Array?How Do You Return Empty Array in Java?Using Curly Braces to Return Empty Array in JavaUsing Anonymous Array Objects – New Int[0] to Return Empty Array Using Empty Array Declaration to Return Empty Array in JavaUsing Apache Commons Library – Array Utils Package to Return Empty […]
How to Write Array to File in Java
Table of ContentsWays to Write Array to File in JavaUsing BufferWriterUsing ObjectOutputStream In this post, we will see how to write array to file in java. Ways to Write Array to File in Java There are different ways to write array to file in java. Let’s go through them. Using BufferWriter Here are steps to […]
How to Initialize an Array with 0 in Java
Table of ContentsArraysInitializing Newly Created ArrayUsing Default Initialization of Arrays in JavaUsing Initialization After DeclarationUsing Simultaneous Initializing and Declaration of ArrayUsing Reflection in JavaInitializing Existing ArrayUsing the Arrays.fill() Function of JavaUsing the for LoopUsing Reassignment From Another ArrayUsing Collections.nCopies() Function of JavaInitializing User-Defined Object ArrayConclusion This article discusses the arrays and different ways to initialize […]
Set an Array Equal to Another Array in Java
Table of ContentsSetting an Array Variable Equal to Another Array VariableSet an Array Equal to Another Array in Java Using the clone() MethodSet an Array Equal to Another Array in Java Using the arraycopy() MethodSet an Array Equal to Another Array in Java Using the copyOf() MethodSet an Array Equal to Another Array in Java […]
Распечатать массив в Java
Напишите программу для печати одномерных и многомерных массивов на Java.
Как печатать одномерные массивы?
1. Цикл for или расширенный цикл for
Наивным подходом будет использование цикла for, как показано ниже:
Мы можем заменить приведенный выше цикл for улучшенным циклом for, как показано ниже:
2. Arrays учебный класс — toString() или же deepToString() метод
Другим простым решением было бы просто использовать Arrays.toString(Object[] a) метод, который вернет строковое представление содержимого указанного массива. Мы также можем использовать Arrays.deepToString(Object[] a) который возвращает строковое представление “глубокого содержимого” указанного массива, т. е. если массив содержит в качестве элементов другие массивы, строковое представление включает их содержимое и т.д.
результат:
[1, 2, 3, 4, 5][1, 2, 3, 4, 5]
3. Apache Commons Lang – ArrayUtils.toString() метод
Arrays.toString() а также Arrays.deepToString() будет работать только на Java SE 5 и выше. Apache Commons предоставляет ArrayUtils.toString() метод, аналогичный Arrays.deepToString() и выводит массив в виде строки. Ниже приведены его отличия от Arrays.deepToString() :
- Строковое представление элементов массива заключено в фигурные скобки. <> в отличие от квадратных скобок [] .
- Соседние элементы разделяются только запятой (а не пробелом).
- Предусмотрена поддержка печати многомерных массивов.
4. Поток Java 8
В Java SE 8 и выше мы можем использовать потоки для печати массива. Ниже приведены две терминальные операции, которые мы можем применить к потоку для печати массива.
- Получить итератор в поток Iterator itr = Arrays.stream(arr).iterator(); .
- С использованием Stream.forEach
Arrays.stream(arr).forEach(System.out::println); .
Следующая программа демонстрирует это:
5. Arrays.asList() или Guava Ints.asList()
Для массива непримитивных объектов мы можем использовать Arrays.asList() как показано ниже: Arrays.asList() возвращает список фиксированного размера, поддерживаемый указанным массивом. Этот подход не рекомендуется, так как он включает создание списка в качестве промежуточного шага.
Похожий на Arrays.asList() метод в JDK, библиотека Google Guava имеет Ints.asList() который также возвращает список фиксированного размера.
10 часто используемых приёмов для работы с массивом в Java
Следующие 10 приёмов для массивов в Java являются часто используемыми. Они имеют самый высокий рейтинг в Stack Overflow – системе вопросов и ответов о программировании.
- Объявление массива
String[] aArray = new String[5]; String[] bArray = ; String[] cArray = new String[];
int[] intArray = < 1, 2, 3, 4, 5 >; String intArrayString = Arrays.toString(intArray); // print directly will print reference value System.out.println(intArray); // [I@7150bd4d System.out.println(intArrayString); // [1, 2, 3, 4, 5]
String[] stringArray = < "a", "b", "c", "d", "e" >; ArrayList arrayList = new ArrayList(Arrays.asList(stringArray)); System.out.println(arrayList); // [a, b, c, d, e]
String[] stringArray = < "a", "b", "c", "d", "e" >; boolean b = Arrays.asList(stringArray).contains("a"); System.out.println(b); // true
int[] intArray = < 1, 2, 3, 4, 5 >; int[] intArray2 = < 6, 7, 8, 9, 10 >; // Apache Commons Lang library int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);
// containing the provided list of elements // Apache common lang String j = StringUtils.join(new String[] < "a", "b", "c" >, ", "); System.out.println(j); // a, b, c
String[] stringArray = < "a", "b", "c", "d", "e" >; ArrayList arrayList = new ArrayList(Arrays.asList(stringArray)); String[] stringArr = new String[arrayList.size()]; arrayList.toArray(stringArr); for (String s : stringArr) System.out.println(s);
Set set = new HashSet(Arrays.asList(stringArray)); System.out.println(set); //[d, e, b, c, a]
int[] intArray = < 1, 2, 3, 4, 5 >; ArrayUtils.reverse(intArray); System.out.println(Arrays.toString(intArray)); //[5, 4, 3, 2, 1]
int[] intArray = < 1, 2, 3, 4, 5 >; int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array System.out.println(Arrays.toString(removed));
И еще — создание массива типа byte на основе значения типа int (прим. берем ByteBuffer , выделяем в нем 4 байта и кладем число int 8, затем все это (0, 0, 0, 8) преобразуем в массив типа byte с помощью вызова array() )
byte[] bytes = ByteBuffer.allocate(4).putInt(8).array(); for (byte t : bytes)