2013-10-20 1 views
0

이 문제로 인해 나는 이것이 일반적으로 무엇인지 알고 싶습니다.Java 디자인 구현 - 위치 기반

필자는 관련 정보를 반환 할 엔터티가있는 테이블이있는 데이터베이스에 연결된 부서 저장소, 편의점 및 식품 센터 등 몇 개의 엔터티를 보유하고 있습니다. 그들의 이름, 위치 등

내 응용 프로그램에서 사용자의 위치에서 다양한 랜드 마크까지의 거리를 정렬하고 싶습니다. 예를 들어 4 개의 부서 상점, 편의점 및 푸드 센터가 내 DB에 있고 출력은 다음과 같습니다. 응용 프로그램의 사용자는 것

  1. 식품 센터 A (100m)

  2. 부서 스토어 A (120m)

  3. 식품 센터 B (200m)

  4. 편의점 A (220m) 등등 오름차순으로.

그것은 내 나는이 방법을 정렬하고자한다면, 나는 그런 획기적인 엔티티로 일반적인 클래스에서이 클래스를 확장 다형성 즉 조사해야한다는 것을 이해합니다. 랜드 마크 개체에 대한 비교자를 만듭니다.

거리를 기반으로 정렬을 수행 할 수있는 다른 방법이 있는지 알고 싶습니다. 마음에두고있는 것은 ArrayList<Landmark>을 만들고 다양한 엔티티를 추가하는 것입니다.

다른 방법이 있습니까?

도움을 주시면 감사하겠습니다.

+0

자세히 알려주십시오. 각 개체가 보유하고있는 정보의 종류 (위치 정보)는 무엇입니까? 귀하의 코드는 여기에 도움이 될 것입니다 .. 그건 그렇고, 알고리즘 문제는 자바 문제보다 더 소리 ... – MeNa

답변

0

내가 객체, 거리 중간 클래스 사용합니다 : ToSort의 목록을 정렬 할

@Data 
public class ToSort<T> { 
    private T entity; 
    private double distanceToUser; 
} 

그런 다음 (distanceToUser 기준) 그것을위한 비교기를 구현한다.

참고 : 거리를 키로 사용하고 값이 객체 인 경우 (예 : TreeMultimap) "멀티 맵"도 가능하지만 모든 T을 필 요로해야합니다.