Любой альтернативный способ сочетания?

Позвольте мне объяснить вам, чего я на самом деле пытаюсь достичь.

У меня есть список разных типов парковочных мест в зависимости от улицы. Предположим, у меня есть одно название улицы, то есть 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;
    }

}

Предложите любой альтернативный способ решения этой проблемы, кроме комбинаций. Спасибо

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

T.Lucas 17.12.2018 15:57

Кроме того, почему у вас есть 720 возможностей? Порядок имеет значение? Думаю, всего 64 возможности (2 ^ 6).

T.Lucas 17.12.2018 16:04

На карте мне нужно установить маркер в зависимости от типа парковки на улице и каждой комбинации типа парковки Elderly, Disabled, Motorcyclist, Truck, Chartered, Conventional). Мне нужно показать другой маркер на карте. если вы вычислите факториал 6! = 720 возможностей. есть ли другой альтернативный способ. пожалуйста предложите

Suraj Bahadur 17.12.2018 17:28

@ T.Lucas говорит, что вы определили перестановки. Если вы ищете только комбинации всех 6 типов парковок, тогда будет только одна, так как порядок не имеет значения. Другое предложение Т. Лукаса - создание всех возможных комбинаций наборов любой длины от 0 (пустой набор) до 6, также известных как набор мощности (мощность в данном случае равна 2 ^ 6).

Joseph Wood 18.12.2018 00:16
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
4
46
0

Другие вопросы по теме