Если я понимаю вашу конечную цель, я не думаю, что вам нужно сортировать массив, который у вас есть.Первое, что вы должны переосмыслить это.Вам действительно нужно отсортировать массив, который у вас есть, по частотам символов, которые есть в вашем учебном тексте?
Ваш тренировочный массив, опять же, если я правильно понимаю, похож на что-то вроде этого:
int[] training = new int[5];
training[0] = 1; // a
training[1] = 2; // b
training[2] = 3; // c
training[3] = 2; // d
training[4] = 8; // e
Теперь, в вашем целевом файле, вы снова соберете такой массив, но на этот раз,например, индекс 0 будет иметь наибольшее число, например:
// target array:
// [8, 2, 2, 3, 1]
Теперь все, что вам нужно сделать, это заменить все символы a
на e
в вашем целевом файле.(поскольку вы узнали, увидев, что он имеет самую высокую частоту, и в вашей тренировке самой высокой частотой была буква e
).
Зачем вам даже нужно сортировать массив тренировок?
Если я вас неправильно понимаю, возможно, используйте Map
для хранения ваших значений частоты и найдите любую функциональность, которая может вам понадобиться в этом классе:
Map<Character, Integer> characterFrequency = new HashMap<>();
characterFrequency.put('a', 4);
characterFrequency.put('b', 2);