2014-11-12 24 views
0
나는 이름 배열 목록으로 분류 한

에 속하는 곳 찾기 :항목이 정렬 된 목록

내가 자바의 ArrayList 방법을 사용하여 이름 "헨리 허튼 소리"를 삽입 할
[0] Abe Lock 
[1] Christine Wilson 
[2] John Daily 
[3] Rita Butler 

: add(int index, E element)합니다. "Henry Bosh"을 넣을 위치의 색인을 찾고 arraylist를 정렬하는 가장 효율적인 방법은 무엇입니까?

+2

왜 'List'입니까? 대신 왜'SortedSet'을 직접 사용하지 않을까요? 중복 된 항목이있을 것으로 예상하지 않는 한? – fge

+0

@fge 목록으로 필요하므로 안드로이드 용 배열 어댑터에 넣을 수 있습니다 – kyrax

+1

[Collections.binarySearch()] (https://docs.oracle.com/javase/7/docs/api/java/util /Collections.html#binarySearch(java.util.List,%20T)) –

답변

0

목록이 이미 정렬 된 경우 가장 효율적인 방법은 이진 검색을 사용하는 것입니다. 그렇지 않으면 당신은 사용자 정의 이진 검색 기능도

당신에게 확인해야 할 수도 있습니다, 당신은 중복을 기대하지 않는 경우

arraylist.add(Collections.binarySearch(arraylist, newString), newString) 

작동합니다 : 자바는 사용 할 수있을 모음에 대한 이진 검색이 내장되어 귀하의 목록에 대해 compareTo 함수를 수정해야 할 수도 있습니다.

+0

이것은 내가 무엇을 찾고 있는지를 찾는데 도움이되었습니다. 감사 – kyrax