Простой:
List<Integer> listA = new ArrayList<Integer>();
listA.add(1);
listA.add(2);
listA.add(3);
listA.add(4);
List<Integer> listB = new ArrayList<Integer>();
listB.add(2);
listB.add(4);
List<Integer> listC = new ArrayList<Integer>();
for ( Integer item : listA ) {
int index = listB.indexOf( item );
if ( index >= 0 ) {
listC.add(index);
}
}
Но это работает только в том случае, если нет повторений , если есть повторяющиеся индексы, вы должны делать это так же, как вы, перемещаясь по полному списку.
РЕДАКТИРОВАТЬ
Я думал, вы хотели, чтобы элементы, а не индексы, наборы не собирались давать вам индексы, только элементы.