Я использую этот итератор для класса платы, и теперь я хочу использовать стек, который я возвращаю в каком-то другом классе, где я хочу перебирать этот статический, как я могу его перебирать с помощью этого стека. Заранее спасибоКак использовать итератор Java через классы?
public Iterable<Board> neighbors(){
Stack<Board> boardit=new Stack<Board>();
int i=0,j=0;
for(i=0;i<N;i++){
for(j=0;j<N;j++){
if(this.board[i][j]==0) break;
}
}
if(this.validate(i-1, j)){
Board ngh1=new Board(this.board);
int temp=ngh1.board[i][j];
ngh1.board[i][j]=ngh1.board[i-1][j];
ngh1.board[i-1][j]=temp;
boardit.push(ngh1);
}
if(this.validate(i+1, j)){
Board ngh2=new Board(this.board);
int temp=ngh2.board[i][j];
ngh2.board[i][j]=ngh2.board[i+1][j];
ngh2.board[i+1][j]=temp;
boardit.push(ngh2);
}
if(this.validate(i, j-1)){
Board ngh3=new Board(this.board);
int temp=ngh3.board[i][j];
ngh3.board[i][j]=ngh3.board[i][j-1];
ngh3.board[i][j-1]=temp;
boardit.push(ngh3);
}
if(this.validate(i, j+1)){
Board ngh4=new Board(this.board);
int temp=ngh4.board[i][j];
ngh4.board[i][j]=ngh4.board[i][j+1];
ngh4.board[i][j+1]=temp;
boardit.push(ngh4);
}
return boardit;
}
Просьба уточнить. Как вы собираетесь называть этот код? –
, как будто я хочу запустить этот стек и вставить в очередь приоритетов после запуска некоторой операции на каждой из досок – user3154554