2015-05-20 3 views
1

Предположим, что у вас есть ArrayList из ArrayLists:Добавление номера к первому элементу ArrayLists

[[a,b,6],[a,b,7],[s,d,3]] 

Я хочу, чтобы добавить номер в качестве индекса, начиная с 0 на первом месте каждого arrayList до тех пор, как два первых элементов остается такой же. Если это не так, подсчет должен начинаться снова с 0. Поэтому я ожидаю в результате:

[[0,a,b,6],[1,a,b,7],[0,s,d,3]] 

Любая помощь приветствуется. Благодаря

+0

Пожалуйста, пост код, что вы пробовали, этот сайт больше для помощи конкретных вопросов, а не «я эту проблему, пожалуйста, решить с кодом ". –

+0

Ничего особенного. – johnnal

ответ

0

Вы можете перебирать и помнить два первых элемента каждый шаг:

List<List<Object>> listOfLists = ... 
Object first = listOfList.get(0).get(0); 
Object second = listOfList.get(0).get(1); 
int count = 0; 

for (List<Object> list : listOfList) { 
    Object currFirst = list.get(0); 
    Object currSecond = list.get(1); 
    if (!currFirst.equals(first) || currSecond.equals(second)) { 
     first = currFirst; 
     second = currSecond; 
     count = 0; 
    } 
    list.add (0, count); 
    ++count; 
} 
Смежные вопросы