2014-04-24 4 views
0

나는 이것을 가능한 한 간단하게 만들 것이다 :의견 정렬에 대한 데이터 구조 유형별 객체 (비 순차 정수)?

나는 객체 (Person 클래스)의 ArrayList를 가지고있다. 객체에는 많은 변수가 포함되며 그 중 하나는 RepID라고합니다. 시각적 인 그림을 그리기 위해이 객체들을 각 버킷 (인덱스)이 다른 RepID 인 버킷으로 정렬하고 싶습니다 (순차적이지 않으므로 1,2,5,7,8이 될 수 있습니다). 동일한 RepID가 동일한 버킷에 저장됩니다. 이유는 각 RepID에 대해 DB를 호출해야합니다. RepID에 의해 정렬하고 DB에 대한 정보를 한 번만 가져온 다음이 Rep에 연결된 모든 개체를 반복하고 DB의 세부 정보를 사용하여 작업을 수행하려고합니다.

저는 2 차원 ArrayList와 비슷한 것을 생각하고있었습니다. 첫 번째 차원은 RepID를 기반으로 한 정수이고 두 번째 차원은 Person 개체입니다. 그러나 나는 2 차원이 얼마나 큰지 모릅니다. Person의 원래 arraylist를 기반으로 첫 번째 차원의 크기를 작성한 다음, 정렬 된 각 Person 객체를 각 버킷에 추가하기 만하면됩니다. 두 번째 차원의 크기는 분명히 다릅니다.

이 방법이 좋은 접근 방법인지 아닌지, 그리고이 2 차원 arraylist를 만드는 구문에 대해 확실하지 않은 의견이 있는지 살펴보십시오.

답변

0

Hashtable 또는 Hashmap에 대한 좋은 후보자처럼 들립니다. 여기서 K는 RepID이고 V는 Person 유형의 ArrayList입니다.

0

귀하의 접근 방식이 너무 간접적입니다.

RepID을 정렬 된 순서로 얻으려면 RepID 매핑을 기록의 목록 (버킷)으로 만드십시오. 그런 다음 원하는 순서대로 버킷에 액세스하려면 RepID 순으로지도의 항목을 쉽게 반복 할 수 있습니다.

RepID (반복하지 않음) 이상의 반복 순서를 염려하지 않으면 TreeMap 대신 HashMap을 사용하여 약간의 런타임을 저장할 수 있습니다.