private int chooseTaxi(District whereIsClient) {
int taxiIndex = 0;
int distance;
int minDistance = 10;
for (Taxi taxi : taxis) {
if ((distance = District.calcDistance(taxi.getLocation(), whereIsClient)) < minDistance) {
minDistance = distance;
taxiIndex = taxis.indexOf(taxi);
}
}
return taxiIndex;
}
Метод должен возвратить индекс такси, для которого будет выгоднее всего подъехать к whereIsClient. taxis - LinkedList, calcDistance - вычисляет расстояние между клиентом и такси. Как это переписать с использованием stream? Если возможно, конечно.
Можно написать следующим образом:
int taxiIndex = taxis.stream()
.min(Comparator.comparing(
taxi -> District.calcDistance(taxi.getLocation(), whereIsClient)
))
.map(taxis::indexOf)
.orElse(-1);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Правильная ли такая реализация потокобезопасного Singleton? И как его можно ещё реализовать без применения synchronized и volatile?
Есть два поля начальная дата и конечная дата На входе получить начальная дата c текущей датой, конечная дата должна быть выше начальная дата,...