У меня есть эта проблема, что я не знаю, как подойти. У меня есть два списка массива, один, который содержит строку, а другой, содержащий целые числа, например:пары значений arraylists в java
* Utah 5
* Nevada 6
* California 12
* Oregon 8
* Utah 9
* California 10
* Nevada 4
* Nevada 4
* Oregon 17
* California 6
и мне нужно, чтобы получить результат, как это в списках массива: Юта [5, 9] Невада [6 , 4, 4] California [12, 10, 6].
Я честно не знаю, как подойти к этому, и я ищу совет о том, как это сделать.
Мне было предложено использовать arraylist Arraylist, и это то, что у меня есть до сих пор.
int i=0;
ArrayList<ArrayList<Integer>> values = new ArrayList<ArrayList<Integer>>();
while (i<categories.size())
{
String cat=categories.get(i);
i++;
for (int r = 0; r < column1.size();r++) {
if(column1.get(r)==cat)
{
int value = column2.get(r);
ArrayList<Integer> val=new ArrayList<Integer>();
val.add(value);
values.add(val);
}
}
Column1 = список состояний, column2 = список целых чисел и категории = список категорий.
Моя проблема в том, что цикл for, кажется, просто добавляет один и тот же массив снова и снова, пока цикл while не будет выполнен. Какие-либо предложения?
'Карта>'? –
Почему бы не создать еще 2 ArrayList, который содержит имена, но только один экземпляр каждого имени, а затем другой, который будет проходить через первый (а не третий) arraylist и если значение соответствует значению (нужен цикл, который проходит все они) от 3-го arraylist, затем добавьте это значение в 4-й arraylist и повторите. Думаю, это сработает. Это для домашнего задания? – DreadHeadedDeveloper
Да, это для домашней работы, но я думаю, что я не понимаю, как узнать, какие значения перед категориями (utah, nevada, california), так как я не могу их видеть, я просто, возможно, просто по номеру индекса? –