Some times we may need to break down the list of objects/primitives from a master/parent list and create objects/primitives sub lists.
Say, we have a list of 2000 employee numbers , and we would like to divide them into 20 sub lists of 200 employee numbers each. then the following method comes handy. it's a kind of utility method.
Execution:
Input :
parentList : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]
childListSize : 5
Output:
Size of the parent list:[30]
sub list size desired : 5
Number of sub lists divided : 6
List 1: [1,2,3,4,5]
List 2: [6,7,8,9,10]
List 3: [11,12,13,14,15]
List 4: [16,17,18,19, 20]
List 5: [21,22,23,24,25]
List 6: [26,27,28,29,30]
we can use this method for other data types also by making the list as generic.
Say, we have a list of 2000 employee numbers , and we would like to divide them into 20 sub lists of 200 employee numbers each. then the following method comes handy. it's a kind of utility method.
/**
* @param parentList
* @param childListSize
* @return
*/
List<List<Integer>> createSubLists(List<Integer> parentList,
int childListSize) {
List<List<Integer>>listOfSublists = new ArrayList<List<Integer>>();
int parentListSize = parentList.size();
System.out.println("Size of the parent list:["+parentListSize+"]");
for(int parentIndex = 0; parentIndex < parentListSize;){
List<Integer> tempChildList = new ArrayList<Integer> ();
for(int childIndex = 0; childIndex < childListSize ; childIndex++ ){
if(parentIndex >= parentListSize){
break;
}
tempChildList.add(parentList.get(parentIndex++));
}
listOfSublists.add(tempChildList);
}
return listOfSublists;
}
Execution:
Input :
parentList : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30]
childListSize : 5
Output:
Size of the parent list:[30]
sub list size desired : 5
Number of sub lists divided : 6
List 1: [1,2,3,4,5]
List 2: [6,7,8,9,10]
List 3: [11,12,13,14,15]
List 4: [16,17,18,19, 20]
List 5: [21,22,23,24,25]
List 6: [26,27,28,29,30]
we can use this method for other data types also by making the list as generic.
No comments:
Post a Comment