如何使用Java 8流API迭代枚举值



如何使用Java流API进入一个整数列表。在下面的示例中,手动添加枚举以列出列表,通常我会从方法调用位置获得。

 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;
              }           
    }

将枚举数组转换为流

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

您的示例将是:

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

然后使用流API:

List<Integer> list = numbers.stream().map(Board::getId).collect(toList());

最新更新