Java9でStreamAPIのメソッドを実装するにはどうすればよいですか?
ストリーム API 多くの組み込み機能を提供します ストリームパイプラインを使用してコレクションの操作を実行するのに役立ちます。 APIは宣言型プログラミングです これにより、コードが正確になり、エラーが発生しにくくなります。 Java 9 、 Stream APIにいくつかの便利なメソッドが追加されました 。
- Stream.iterate(): このメソッドは、従来のforループのストリームバージョンの置換として使用できます。 。
- Stream.takeWhile() :このメソッドは、値を取るwhileループで使用できます。 条件が満たされている間。
- Stream.dropWhile(): このメソッドは、値をドロップするwhileループで使用できます。 条件が満たされている間。
次の例では、静的メソッドを実装できます: iterate()、takeWhile()、 およびdropWhile() ストリームAPIのメソッド 。
例
import java.util.Arrays; import java.util.Iterator; import java.util.stream.Collectors; import java.util.stream.Stream; public class StreamAPITest { public static void main(String args[]) { String[] sortedNames = {"Adithya", "Bharath", "Charan", "Dinesh", "Raja", "Ravi", "Zaheer"}; System.out.println("[Traditional for loop] Indexes of names starting with R = "); for(int i = 0; i < sortedNames.length; i++) { if(sortedNames[i].startsWith("R")) { System.out.println(i); } } System.out.println("[Stream.iterate] Indexes of names starting with R = "); Stream.iterate(0, i -> i < sortedNames.length, i -> ++i).filter(i -> sortedNames[i].startsWith("R")).forEach(System.out::println); String namesAtoC = Arrays.stream(sortedNames).takeWhile(n -> n.charAt(0) <= 'C') .collect(Collectors.joining(",")); String namesDtoZ = Arrays.stream(sortedNames).dropWhile(n -> n.charAt(0) <= 'C') .collect(Collectors.joining(",")); System.out.println("Names A to C = " + namesAtoC); System.out.println("Names D to Z = " + namesDtoZ); } }
出力
[Traditional for loop] Indexes of names starting with R = 4 5 [Stream.iterate] Indexes of names starting with R = 4 5 Names A to C = Adithya,Bharath,Charan Names D to Z = Dinesh,Raja,Ravi,Zaheer
-
JavaでJToggleButtonを実装するにはどうすればよいですか?
JToggleButton JToggleButton AbstractButtonの拡張です また、オンに切り替えることができるボタンを表すために使用できます。 およびオフ 。 JToggleButtonの場合 を初めて押すと、押したままになり、2回押すと離すことができます。 JToggleButton ActionEventを生成します 押すたびに。 JToggleButton ItemEventを生成することもできます 、このイベントは、選択の概念をサポートするコンポーネントによって使用されます。 JToggleButtonの場合 を押すと選択されます。
-
JavaでJWindowを使用してスプラッシュ画面を実装するにはどうすればよいですか?
JWindow は、ユーザーのデスクトップのどこにでも表示できるコンテナです。 タイトルバーはありません 、ウィンドウ 管理 ボタン、 JFrameのようなものです。 JWindow JRootPaneが含まれています その唯一の子クラスとして。 contentPane JWindowの子の親になることができます 。 JFrameのように 、 JWindow は別のトップレベルのコンテナであり、装飾されていないJFrameとして機能します。 タイトルバー、ウィンドウメニューなどの機能はありません 、など。 JWindow スプラッシュ画面ウィンドウとして使用できます これ