String string = "a.b.cc.dddd.ef";
int index = 0;
while((index = string.indexOf('.', index)) != -1) {
index = string.indexOf('.', index);
System.out.println(index);
index++;
}
печать
1
3
6
11
Если вы хотите сделать то же самое по списку,
List<String> list = new ArrayList<String>();
list.add("aa.bb.cc.dd");
list.add("aa.bb");
list.add("aa.bbcc.dd");
for (String str : list) {
printIndexes(str, '.');
System.out.println();
}
private void printIndexes(String string, char ch) {
int index = 0;
while((index = string.indexOf(ch, index)) != -1) {
index = string.indexOf(ch, index);
System.out.println(index);
index++;
}
}
напечатает
2
5
8
2
2
7
РЕДАКТИРОВАТЬ : обновление после того, как автор уточнил свой вопрос
List<String> list = new ArrayList<String>();
list.add("abcd");
list.add("pqrs");
list.add("abcd");
list.add("xyz");
list.add("lmn");
List<Integer> indices = new ArrayList<Integer>();
for (int i = 0; i < list.size(); i++) {
if("abcd".equals(list.get(i))) {
indices.add(i);
}
}
System.out.println(indices);