I have this function
public static Set getPages(Set set,int pageSize){
Set<Set<Object>> pages = new HashSet<>();
Set<Object> page = new HashSet<>();
if(pageSize >= set.size()){
pages.add(set);
return pages;
}
for(int i=0;i<set.size();i++){
page.add(set.toArray()[i]);
if( ((i+1) % pageSize == 0)){
pages.add(page);
page = new HashSet<>();
}
}
if((page.size() != 0) && !pages.contains(page) ){
pages.add(page);
}
return pages;
}
It works but the pages are sometimes too small and the values are positioned randomly instead of keeping their original positions from set