나는 guestbookEntries
이 포함 된 treeMap
입니다. 키는 순서 지정 및 페이지 매김에 사용됩니다. 항목을 삭제할 때 guestbookEntries
의 size()
이 줄어들어, 예를 들어 guestbookEntries.size() + 1
키를 사용하여 새로운 항목을 작성하기 때문에 게시물이 덮어 쓰게된다는 문제점이 있습니다.Reorder TreeMap after remove()
변경하려면 키 값 쌍을 제거 할 때 내 TreeMap
을 다시 정렬하고 싶습니다. 다음 모든 키의 수가 1 씩 감소하므로 TreeMap
내에 "갭"이 없어야 guestbookEntries.size()
이 다시 정확합니다.
나는 이런 식으로 생각했다. 여기서 postNumber
은 제거 된 항목의 키이다.
for(int i = postNumber; i < guestbookEntries.size(); i++) {
Guestbook gb = guestbookEntries.get(i + 1);
guestbookEntries.put(postNumber, gb);
guestbookEntries.remove(postNumber + 1);
}
더 쉬운 방법이 있습니까?
이 질문에 대한 대답은 아니지만 TreeMap을 사용하는 이유는 무엇입니까? 왜 방명록 배열 (또는 ArrayList)? – Thierry
자동으로 주문 되었기 때문에 처음에 사용했습니다. – mgerstner