Java-индекс двумерных массивов

1

Проблемы с использованием 2-мерных массивов. У меня есть что-то вроде этого:

List<List<String>> pmValues = new ArrayList<List<String>>();
List<String> pmList = new ArrayList<String>();

Я хочу добавить значения из pmValues на основе индекса pmList, если он равен другому значению (layerrate):

for (something) {
    String layerrate = Something;
    String value = Something;

    for (int aa = 0; aa < pmList.size(); aa++) {
        int abc = aa;
        String abc2 = pmList.get(aa);
        for (int bb = 0; bb < pmValues.size(); bb++) {
            if (layerRate.contentEquals(abc2)) {
                pmValues.add(bb, value);   --> it doesnt save??? error
            }
        }
    }
}

Мне нужно что-то вроде этого, я запускал код, но, похоже, не работает, так как мне нужно, чтобы индекс pmList использовал его для сохранения значений из pmValues в том же индексе, что и pmList.

pmList: A
pmValues (values): A1, A2, A3, A4
pmList: B
pmValues (values): B1, B2, B3, B4
pmList: C
pmValues (values): C1, C2, C3, C4

У кого-нибудь есть идея? ти

  • 5
    в чем смысл List<List<String>> , если вы хотите отобразить A на A1, A2 .., почему бы не использовать Map<String, List<String>>
Теги:
string
arrays
multidimensional-array

1 ответ

2

Если я следую вашему вопросу, вам нужно get внутренний список,

pmValues.add(bb, value);

должно быть что-то вроде,

if (pmValues.get(aa) == null) {
  pmValues.set(aa, new ArrayList<String>());
}
pmValues.get(aa).add(bb, value);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню