문제
주어진 Item
그것은 a에 추가되었습니다 Form
, 그 항목이 양식에 어떤 색인인지 알아내는 가장 좋은 방법은 무엇입니까?
Form.append(Item)
처음에 추가 된 인덱스를 제공하지만 나중에 항목을 삽입하면 인덱스가 동기화되지 않습니다.
해결책
이것은 내가 생각해 낼 수있는 최선이었습니다.
private int getItemIndex(Item item, Form form) {
for(int i = 0, size = form.size(); i < size; i++) {
if(form.get(i).equals(item)) {
return i;
}
}
return -1;
}
나는 실제로 이것을 테스트하지는 않았지만 효과가 있어야합니다. 나는 단지 모든 항목을 열거하는 것을 좋아하지 않지만 많은 것이 없어서는 안된다고 생각합니다.
다른 팁
API에는 indexOf(Item)
방법:
- 당신은 당신이 추가 할 때 얻는 인덱스를 업데이트합니다.
Item
. 그래서 당신이 다른 것을 삽입 할 때Item
다른 항목 전에 해당 항목의 지수를 업데이트해야합니다. 당신은 이것에 대해 어떤 종류의 그림자 계산을 유지할 수 있지만, 그것은 약간 과도한 것처럼 보입니다. - 당신은
size
그리고get
방법Form
.
제휴하지 않습니다 StackOverflow