জাভা 8 এর আগে
আমরা Arrays.toString(array)
একটি মাত্রিক অ্যারে এবং Arrays.deepToString(array)
বহু-মাত্রিক অ্যারে মুদ্রণ করতে ব্যবহার করতে পারি ।
জাভা 8
এখন আমরা বিকল্প আছে না Stream
এবং lambda
অ্যারের মুদ্রণ করতে।
এক মাত্রিক অ্যারে মুদ্রণ:
public static void main(String[] args) {
int[] intArray = new int[] {1, 2, 3, 4, 5};
String[] strArray = new String[] {"John", "Mary", "Bob"};
//Prior to Java 8
System.out.println(Arrays.toString(intArray));
System.out.println(Arrays.toString(strArray));
// In Java 8 we have lambda expressions
Arrays.stream(intArray).forEach(System.out::println);
Arrays.stream(strArray).forEach(System.out::println);
}
আউটপুটটি হ'ল:
[1, 2, 3, 4, 5]
[জন, মেরি, বব]
1
2
3
4
5
জন
মেরি
বব
মাল্টি-ডাইমেনশনাল অ্যারে
প্রিন্ট করা ঠিক যদি আমরা বহুমাত্রিক অ্যারে প্রিন্ট করতে চাই তবে আমরা এটি ব্যবহার করতে পারি Arrays.deepToString(array)
:
public static void main(String[] args) {
int[][] int2DArray = new int[][] { {11, 12}, { 21, 22}, {31, 32, 33} };
String[][] str2DArray = new String[][]{ {"John", "Bravo"} , {"Mary", "Lee"}, {"Bob", "Johnson"} };
//Prior to Java 8
System.out.println(Arrays.deepToString(int2DArray));
System.out.println(Arrays.deepToString(str2DArray));
// In Java 8 we have lambda expressions
Arrays.stream(int2DArray).flatMapToInt(x -> Arrays.stream(x)).forEach(System.out::println);
Arrays.stream(str2DArray).flatMap(x -> Arrays.stream(x)).forEach(System.out::println);
}
এখন পর্যবেক্ষণ করার বিষয়টি হ'ল পদ্ধতিটি Arrays.stream(T[])
, যা int[]
আমাদের ফেরত দেয় Stream<int[]>
এবং তারপরে পদ্ধতিটি flatMapToInt()
প্রতিটি উপাদানের সরবরাহকৃত ম্যাপিং ফাংশন প্রয়োগ করে উত্পাদিত ম্যাপযুক্ত স্ট্রিমের বিষয়বস্তু সহ প্রবাহের প্রতিটি উপাদানকে ম্যাপ করে।
আউটপুটটি হ'ল:
[[11, 12], [21, 22], [31, 32, 33]]
[[জন, ব্রাভো], [মেরি, লি], [বব, জনসন]]
11
12
21
22
31
32
33
জন
ব্রাভো
মেরি
লি
বব
জনসন