가능한 중복 :
ArrayList Vs LinkedList
ArrayList vs. LinkedList which one is better for sorting의 ArrayList 나 LinkedList의
우리는 100 개 문자열 (이름)이 있고 ArrayList를하고 LinkedList의에서 선호되는 한, 그 (것)들을 정렬한다고 가정 환경 설정의 이유는 무엇입니까?
가능한 중복 :
ArrayList Vs LinkedList
ArrayList vs. LinkedList which one is better for sorting의 ArrayList 나 LinkedList의
우리는 100 개 문자열 (이름)이 있고 ArrayList를하고 LinkedList의에서 선호되는 한, 그 (것)들을 정렬한다고 가정 환경 설정의 이유는 무엇입니까?
어떤 종류의 정렬 이냐에 따라 다릅니다.
처음에 많이 삽입/검색/제거하려고하면 ArrayLists가 느립니다. (큰 리플)
색인에 삽입/검색/제거하려는 경우 LinkedLists가 느립니다. 당신에게 작업 목록의 각 유형에 대해 얼마나 빨리의 아이디어를 제공
감사합니다. info.even이 또한 내가 찾고 있어요 –
처음부터 정렬 알고리즘을 구현하는 데 시간을 낭비하지 않는 한,이 정보는 도움이되지 않습니다. 그렇게해도 목록을 배열에 복사하고 배열을 정렬하면보다 효율적인 정렬을 얻을 수 있습니다. –
@StephenC 자신의 정렬을 구현하는 것이 시간 낭비인지 확신 할 수 없습니다. – varatis
구현 선택은 발생하는 작업을 기반으로해야합니다.
here을 참조하십시오.
http://commons.apache.org/collections/api-3.1/org/apache/commons/collections/list/TreeList.html
. 분명히 데이터에 따라 하나가 다른 것보다 더 잘 작동한다는 것을 알 수 있습니다 (각각에는 장점과 단점이 있습니다).
Collections
API를 사용하여 정렬하는 것은 중요하지 않습니다. 당신은 Collections.sort
의 구현을 살펴 걸릴 경우
List.toArray
Arrays.sort
방법을 사용하여 목록의 사본을 만듭니다 public static <T extends Comparable<? super T>> void sort(List<T> list) {
Object[] a = list.toArray();
Arrays.sort(a);
ListIterator<T> i = list.listIterator();
for (int j=0; j<a.length; j++) {
i.next();
i.set((T)a[j]);
}
}
당신은 그 다음을 수행 볼 수 있습니다 배열을 정렬하십시오.
심지어 나는 같은 것을 생각했다. .. 의심을 깨끗하게하는 것에 대해 감사해라!! –
요소가 100 개 밖에 없기 때문에, 당신이 선택한 차이점을 거의 눈치 채지 못합니다. – skaffman
@ skaffman..that understand ... 그러나 나는 일반적인 대답을 찾고 있었고, 예를 들어서 만 100을 택했다 ... 내가 백만을 예제로 취했을 수도있다 ... 입력에 대한 감사 –