Если значения 0.00631
, 0.0002378
и 0.00571
являются ожидаемыми результатами от делений, убедитесь, что вы не выполняете целочисленные деления.То есть, обязательно приведите числитель или знаменатель к числу с плавающей или двойной.
Вместо
double fraction = someInt / someOtherInt;
вы можете сделать
double fraction = (double) someInt / someOtherInt;
В вашем конкретномслучай, вы можете попробовать что-то вроде
(double) Collections.frequency(list, list.get(i)) / list.size();