ラムダ式をメソッド引数として渡す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メソッドのデフォルトの実装を持つことができ、これ