全知全能を目指す人のありがたい雑記

何かしら意味のあるありがた~い話か、意味のない雑念だらけの日記を書く予定です。

Java SE8のStream APIを使って配列の要素を並び替える

C#で言うLINQのようにメソッドチェーンでデータのお料理ができる。
好き

import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        String[] arr = {"ザク", "グフ", "ドム", "ドム"};
        var list = Arrays.asList(arr);
        for(int i = 0; i < 3; i++){
            list.stream()        
                .skip(arr.length - i) 
                .forEach(v -> {
                    System.out.println(v);
                });
            
            list.stream()        
                .limit(arr.length - i) 
                .forEach(v -> {
                    System.out.println(v);
                });
            System.out.println();
        }
    }
}

出力結果

ザク
グフ
ドム
ドム

ドム
ザク
グフ
ドム

ドム
ドム
ザク
グフ