ラムダ式をメソッド引数として渡すJavaプログラム
この記事では、ラムダ式をメソッド引数として渡す方法を理解します。ラムダ式は、パラメーターを取り込んで値を返す短いコードブロックです。
以下は同じのデモンストレーションです-
入力
入力が-
であると仮定します("Apple", "Orange", "Grapes")
出力
必要な出力は-
になりますelppA, egnarO, separG
アルゴリズム
Step 1 - START Step 2 - We import the required packages. Step 3 - In the main function, we define an ‘ArrayList’ of data. Step 4 - This is displayed on the console. Step 5 - Now, a ‘forEach’ loop is used to iterate over the elements of the ArrayList from the end, instead of the beginning. Step 6 - The element at every index is accessed and incremented by a specific value. Step 7 - This will result in the ArrayList elements being displayed in reverse order.
例1
ここでは、整数は事前に定義されており、その値にアクセスしてコンソールに表示されます。
import java.util.ArrayList; import java.util.Arrays; public class Main { public static void main(String[] args) { ArrayList<String> Fruits = new ArrayList<>(Arrays.asList("Apple", "Orange", "Grapes")); System.out.println("The ArrayList is defined as : " + Fruits); System.out.print("The Reversed ArrayList is: "); Fruits.forEach((e) -> { String result = ""; for (int i = e.length()-1; i >= 0 ; i--) result += e.charAt(i); System.out.print(result + ", "); }); } }
出力
The ArrayList is defined as : [Apple, Orange, Grapes] The Reversed ArrayList is: elppA, egnarO, separG,
例2
ここでは、整数は事前に定義されており、その値にアクセスしてコンソールに表示されます。
import java.util.ArrayList; import java.util.Arrays; public class Main { public static void main(String[] args) { ArrayList<String> Games = new ArrayList<>(Arrays.asList("Football", "Cricket", "Baseball")); System.out.println("The ArrayList is defined as : " + Games ); System.out.print("The Reversed ArrayList is: "); Games .forEach((e) -> { String result = ""; for (int i = e.length()-1; i >= 0 ; i--) result += e.charAt(i); System.out.print(result + ", "); }); } }
出力
The ArrayList is defined as : [Football, Cricket, Baseball] The Reversed ArrayList is: llabtooF, tekcirC, llabesaB,
-
mainメソッドなしでJavaプログラムを実行できますか?
はい、静的ブロックを使用することで、mainメソッドなしでJavaプログラムを実行できます。 Javaの静的ブロックは、クラスがJava ClassLoaderによってメモリにロードされたときに一度だけ実行されるステートメントのグループです。これは、静的初期化ブロックとも呼ばれます。静的初期化ブロックはスタックメモリに直接入ります。 例 class StaticInitializationBlock{ static{ System.out.println("class without a main method&
-
Java8でのインターフェースの機能強化
Java 8では、インターフェースにデフォルトのメソッド実装の新しい概念が導入されています。この機能は下位互換性のために追加されているため、古いインターフェースを使用してJava8のラムダ式機能を活用できます。 たとえば、「List」または「Collection」インターフェースには「forEach」メソッド宣言がありません。したがって、このようなメソッドを追加すると、コレクションフレームワークの実装が壊れてしまいます。 Java 8ではデフォルトのメソッドが導入されているため、List / CollectionインターフェースはforEachメソッドのデフォルトの実装を持つことができ、これ