实现javaMap的分页

3zwjbxry  于 2021-07-13  发布在  Java
关注(0)|答案(2)|浏览(651)

我有一张java对象的Map,我想把它作为页面显示在ui中:

Map<Integer, CategoryFullDTO> list = new HashMap<>();

 list.put(1, CategoryFullDTO.builder().id(1).title("item 1").build());
 list.put(2, CategoryFullDTO.builder().id(2).title("item 2").build());
 list.put(3, CategoryFullDTO.builder().id(3).title("item 3").build());

我使用以下方法创建pages对象:

final Page<Map<Integer, CategoryFullDTO>> page = new PageImpl<>(list);

但我明白了 Cannot infer arguments 如何将Map跳转成列表并逐页获取?

qaxu7uf2

qaxu7uf21#

如果 PageImpl 是从 springframework.data.domain ,则构造函数接受 List 争论而不是争论 Map 对象作为参数。
所以你可以试试

Map<Integer, CategoryFullDTO> map= new HashMap<>();

map.put(1, CategoryFullDTO.builder().id(1).title("item 1").build());
map.put(2, CategoryFullDTO.builder().id(2).title("item 2").build());
map.put(3, CategoryFullDTO.builder().id(3).title("item 3").build());

List<Map<Integer, CategoryFullDTO>> list = new ArrayList<>();
list.add(map);
final Page<Map<Integer, CategoryFullDTO>> page = new PageImpl<>(list);
pxiryf3j

pxiryf3j2#

这对我很有用。

final Page<Map> page = new PageImpl(new ArrayList(list.values()));

相关问题