簡體   English   中英

如何在Java中進行列表理解

[英]How to do list comprehension in Java

我正在編寫一個程序,並且想通過列表理解(如Python中的代碼)來縮短代碼。 但是,在嘗試簡化代碼時遇到語法錯誤:

我已經嘗試多次解決此問題,但是當我想以整數數組(int [])的形式完成此任務時,他們提出的所有解決方案都是通過ArrayLists進行的。

boolean[][] seats;
Theater(int row, int col) {
    for (int i=0; i<row; i++) for (int j=0; j<col; j++) seats[i][j] = false;
}

public int[] findSeats(int row) {
    int[] arr = [x for (boolean x : this.seats[row]) if (x == false)];
    return arr;
}

我希望上面的代碼能正常工作,但是出現了以下消息:

Syntax error on tokens, delete these tokens
Syntax error on token "]", delete this token

誰能幫忙嗎? 非常感激。

Python的這種語言構造在Java中不可用。 我認為您連續發現空缺席位? 我認為最接近的是這樣的

public int[] findSeats(int row) {

        final int[] avSeats = new int[seats[row].length];
        IntStream.range(0, seats[row].length).filter(seatNo -> !seats[row][seatNo]).forEach(seatNo -> avSeats[seatNo] = 1);
        return avSeats;

    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM