How to iterate Enum values using java 8 stream api

madhusudhan :

How get to only cspId in to one list of integer using Java stream API. Here in below example manually added enums in to list usually i will get from method calling place.

 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 of Board

    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;
              }           
    }
Alexandru Bratu :

Convert enum array to stream

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

for your example would be:

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

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=308385&siteId=1