Javaの8ストリームAPIを使用して列挙型の値を反復処理する方法

madhusudhan:

どのようにJavaのストリームAPIを使用して整数の1つのリストにのみcspIdに着きます。ここでは例として、以下の手動で追加列挙型で、リストには通常、私は、メソッド呼び出しの場所から取得します。

 public class Test {
        public static void main(String args[]){
            List<Board> numbers=new ArrayList<>();
            numbers.add(Board.MY_BOARD);
            numbers.add(Board.TEST_BOARD);
            List<Integer> list=new ArrayList<Integer>();//Here i want to get List<integer> using jaba stream api.
            System.out.println(list);               
            }
        }

取締役会の列挙

    enum Board{
          MY_BOARD(0, "My Dashboard"),
          WEB_BOARD(1, "web Dashboard"),
          TEST_BOARD(2, "web Dashboard")
    ;    
          private int cspId;
          private String name;

          Board(int id, String name) {
            this.cspId = id;
            this.name = name;
          }
          public int getId() {
                return cspId;
              }
              public String getName() {
                return name;
              }           
    }
アレクサンドルBratu:

ストリームに列挙型の配列に変換

Stream.of(Enum.values()).map....

あなたの例のために次のようになります。

List<Integer> list= Stream.of(Board.values()).map(Board::getId).collect(Collectors.toList());

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=314721&siteId=1