Разбор строки и получение индекса массива из текстовой строки - PullRequest
0 голосов
/ 26 декабря 2018

Я анализирую вложенный файл Json, в котором есть вложенные объекты и массив, и получаю результат в Map (String, Object).Результат, который я могу получить:

RoomStays.RoomStay.RoomRates.RoomRate [15] .Rates.Rate [0] .Base.DecimalPlaces RoomStays.RoomStay.RoomRates.RoomRate [15] .Rates.Rate [0] .Base.AmountBeforeTax RoomStays.RoomStay.RoomRates.RoomRate [15] .Rates.Rate [0] .EffectiveDate RoomStays.RoomStay.RoomRates.RoomRate [15] .Rates.RoomRate [15] .Rates.Rate [1] .RateMode RoomStays.RoomStay.RoomRates.RoomRate [15] .Rates.Rate [1] .UnitMultiplier RoomStays.RoomStay.RoomRates.RoomRate [15] .Rates.Rate [1].Base.CurrencyCode RoomStays.RoomStay.RoomRates.RoomRate [15] .Rates.Rate [1] .Base.DecimalPlaces RoomStays.RoomStay.RoomRates.RoomRate [15] .Rates.Rate [1] .Base.AmountBeforeToomRatsStaStaS.RoomRate [15] .Rates.Rate [1] .EffectiveDate RoomStays.RoomStay.RoomRates.RoomRate [15] .Rates.Rate [1] .RateTimeUnit RoomStays.RoomStay.RoomRates.RoomRate [15] .AvailabilityStatRasySateS.RoomRate [15] .NumberOfUnits RoomStays.RoomStay.RoomRates.RoomRate [15] .Total.CurrencyCode

Теперь мне нужно знать номер индекса, например, 15 - это индекс RoomStays.RoomStay.RoomRates.RoomRate.Помощь приветствуется.Заранее спасибо.

1 Ответ

0 голосов
/ 26 декабря 2018

Это работает при условии, что ваш массив RoomRate не имеет повторяющихся значений.Если вы передадите функции getArrayIndex массив RoomRate вместе с экземпляром RoomRate, индекс которого хотите получить, он вернет индекс.

    public static void main(String[] args) {

        int[] RoomRate = new int[3];    
        RoomRate[0] = 5;
        RoomRate[1] = 10;
        RoomRate[2] = 20;

        int index = getArrayIndex(RoomRate, RoomRate[1]);

        System.out.println(index);
    }

    private static int getArrayIndex(int[] RoomRate, int instance) {        
        int index = 0;      
        for (int i = 0; i < RoomRate.length; i++) {         
            if (RoomRate[i] == instance) {
                index = i;
                break;
            }           
        }
        return index;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...