Чего я хочу добиться, так это получить значение атрибута min / max объекта ArrayList<Object>
.Например, если Object
имеет атрибут weight
(с плавающей точкой), я хочу получить самый тяжелый объект из списка.
Я пытался реализовать Comparable, чтобы получить значение max / min, но это возвращает то же значение для min ито же самое для макс по какой-то причине.(Я не знаю, работает ли он с плавающей точкой)
val maxVal: Float = arrayList.max().floatVal1
val minVal: Float = arrayList.min().floatVal1
data class CustomObject(var val1: String, var floatVal1: Float , var floatVal2: Float?, var floatVal3: Float?, var floatVal4: Float?): Comparable<CustomObject>{
override fun compareTo(other: CustomObject) = (floatVal1 - other.floatVal1).toInt()
}
Этот конкретный вопрос из дублированного поста не показывает мне, как получить максимальное / минимальное значение на основе Float.Это проблема.Если я хочу изменить Comparator, он принимает только Int.И я не могу использовать эту функцию потока, потому что мое приложение для API 23+, а не 24 +