Позвольте мне объяснить вам, чего я на самом деле пытаюсь достичь.
У меня есть список разных типов парковочных мест в зависимости от улицы. Предположим, у меня есть одно название улицы, то есть abc, и эта улица может содержать комбинацию из следующих
parking type (Elderly, Disabled, Motorcyclist, Truck, Chartered, Conventional)
и в зависимости от типа парковки мне нужно показать другой маркер на карте.
Что я пробовал: Я пытался использовать его, создавая комбинацию всех типов парковок, то есть 6! = 720, если я пойду с ним, мне нужно сделать 720 тестовых примеров, и он станет слишком длинным
Response from firebase: parking_space key contain list of different parking type
Этот метод вызывал бы получение данных от firebase и итератора по всем типам парковок, доступных на этой улице, и установил бы тип true and vice versa.
private ArrayList<ParkingTypePojo> parkingTypeListPojo = new ArrayList<>();
private ParkingTypePojo parkingTypePojo;
private void evaluateMarkerType(ArrayList<Map<String, Object>> pack) {
boolean elderlyStatus = false;
boolean disabledStatus = false;
boolean cyclistStatus = false;
boolean motorcyclistStatus = false;
boolean truckStatus = false;
boolean charteredStatus = false;
boolean conventionalStatus = false;
for (int i = 0; i < pack.size(); i++) {
switch (pack.get(i).get(Constants.PARKING_TYPE).toString()) {
case "Elderly"://normal green
//1
elderlyStatus = true;
break;
case "Disabled"://senior disable blue
//2
disabledStatus = true;
break;
case "Cyclist"://cycle orange
//3
cyclistStatus = true;
break;
case "Motorcyclist"://moto prpl
//4
motorcyclistStatus = true;
break;
case "Truck"://truck yllw
//5
truckStatus = false;
break;
case "Chartered"://cet black
//6
charteredStatus = true;
break;
case "Conventional"://zona blue money
//7
conventionalStatus = true;
break;
default:
break;
}
}
parkingTypePojo = new ParkingTypePojo(elderlyStatus, disabledStatus, cyclistStatus, motorcyclistStatus, truckStatus, charteredStatus, conventionalStatus);
parkingTypeListPojo.add(parkingTypePojo);
}
I have stored parking type based on street in pojo class
public class ParkingTypePojo {
private boolean elderlyStatus;
private boolean disabledStatus;
private boolean cyclistStatus;
private boolean motorcyclistStatus;
private boolean truckStatus;
private boolean charteredStatus;
private boolean conventionalStatus;
public ParkingTypePojo(boolean elderlyStatus, boolean disabledStatus, boolean cyclistStatus, boolean motorcyclistStatus, boolean truckStatus, boolean charteredStatus, boolean conventionalStatus) {
this.elderlyStatus = elderlyStatus;
this.disabledStatus = disabledStatus;
this.cyclistStatus = cyclistStatus;
this.motorcyclistStatus = motorcyclistStatus;
this.truckStatus = truckStatus;
this.charteredStatus = charteredStatus;
this.conventionalStatus = conventionalStatus;
}
public boolean isElderlyStatus() {
return elderlyStatus;
}
public boolean isDisabledStatus() {
return disabledStatus;
}
public boolean isCyclistStatus() {
return cyclistStatus;
}
public boolean isMotorcyclistStatus() {
return motorcyclistStatus;
}
public boolean isTruckStatus() {
return truckStatus;
}
public boolean isCharteredStatus() {
return charteredStatus;
}
public boolean isConventionalStatus() {
return conventionalStatus;
}
}
Предложите любой альтернативный способ решения этой проблемы, кроме комбинаций. Спасибо
Кроме того, почему у вас есть 720 возможностей? Порядок имеет значение? Думаю, всего 64 возможности (2 ^ 6).
На карте мне нужно установить маркер в зависимости от типа парковки на улице и каждой комбинации типа парковки Elderly, Disabled, Motorcyclist, Truck, Chartered, Conventional). Мне нужно показать другой маркер на карте. если вы вычислите факториал 6! = 720 возможностей. есть ли другой альтернативный способ. пожалуйста предложите
@ T.Lucas говорит, что вы определили перестановки. Если вы ищете только комбинации всех 6 типов парковок, тогда будет только одна, так как порядок не имеет значения. Другое предложение Т. Лукаса - создание всех возможных комбинаций наборов любой длины от 0 (пустой набор) до 6, также известных как набор мощности (мощность в данном случае равна 2 ^ 6).




Можете ли вы подтвердить, что вам нужен метод, который выбирает маркер из набора логических значений? Или дело в запросе?