Javaで手動でページングを行う方法は?
Javaでは、リストまたは配列を使用して手動でページングを実装する手法があります。一般的な手動ページング手法を以下に示します。
- 1ページ表示するデータ数、現在のページ番号を定義。
int pageSize = 10; // 每页显示的数据量
int currentPage = 1; // 当前页码
- データの個数を求める。
int totalData = data.size(); // 数据的总数
- ページ総数を表示する。
int totalPages = (int) Math.ceil((double) totalData / pageSize); // 总页数
- 現在のページ番号と1ページに表示するデータ量から、現在表示しているデータの開始インデックスと終了インデックスを計算する。
int startIndex = (currentPage - 1) * pageSize; // 当前页的起始索引
int endIndex = Math.min(startIndex + pageSize, totalData); // 当前页的结束索引
- 現在表示されているデータを取得する。
List<Object> currentPageData = data.subList(startIndex, endIndex); // 当前页显示的数据
上記の方法を利用する際は、現在のページ番号と1ページあたりに表示するデータ数に有効な値が入力されていること、またデータリストのデータがページング処理を行うのに十分な量があることを確認する必要があります。また、現在のページ番号が総ページ数をオーバーした場合などの境界のケースを適切に処理する必要があります。