Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void divideData(List<String> data, int index, int partitions) {
- if (partitions == 0 || index >= data.size()) {
- return;
- }
- if (partitions < 0 || partitions > 100) {
- return;
- }
- int dataLen = data.get(index).length();
- int partitionLen = dataLen / partitions;
- List<String> divElements = new ArrayList<>();
- int nextPartitionIdx = 0;
- if (partitionLen == 0) {
- return;
- }
- int remainder = dataLen % partitions;
- if (remainder == 0) {
- for (int i = 0; i < partitions; i++) {
- divElements.add(data.get(index).substring(nextPartitionIdx,nextPartitionIdx+partitionLen));
- nextPartitionIdx+=partitionLen;
- }
- } else {
- for (int i = 0; i < partitions; i++) {
- if (i == partitions - 1) {
- partitionLen+= remainder;
- }
- divElements.add(data.get(index).substring(nextPartitionIdx,nextPartitionIdx+partitionLen));
- nextPartitionIdx+=partitionLen;
- }
- }
- data.remove(index);
- data.addAll(index, divElements);
- }
Advertisement
Add Comment
Please, Sign In to add comment