ArrayList
을 확장하는 문제에 대한 좋은 해결책이 거의 절대 없습니다. 이것은 기본 Java 구현 인 List
으로, 특정 순서로 객체를 저장하고 색인으로 객체를 검색 할 수 있습니다. 당신이 고유 식별자를 사용하여 인덱스 요소로 할 수 있도록하려면
, 당신은 Map
로보고 있고, 그 구현 HashMap
수 있습니다.
Map<Integer, Account>
을 사용하면 문제를 해결하는 데 도움이 될 수 있습니다.
- 개체 삽입 :
map.put(id, account)
대신 list.add(account)
- 가져 오는 객체 :
map.get(id)
이 가장 빠른 구현 될 것입니다. 그러나, 당신이 이것을 변경할 수없는 경우, 당신은 여전히 당신의 ArrayList
을 반복하고 올바른 계정을 찾을 수 있습니다지도를 사용하는 것이 작업을 수행하는
for (Account acc : accounts) {
if (acc.getId() == yourId) {
return acc;
}
}
throw new NoSuchElementException();
'ArrayList '의 모든 요소에 대해'Map' 또는 iterate를 사용하십시오. –
대신지도 (HasMap) 또는 세트 (HashSet)를 사용하십시오. – wxyz