0

並べ替えを実装せずにJavaでポイントを並べ替える(最初にx座標に基づいて、xが同じ場合はy座標に基づいて、yが同じ場合はz座標に基づいてなど)ための最良の方法は何ですか?アルゴリズム?

C ++では、ペアを使用して非常に簡単に(次のように)実行できます。

2Dの場合:

Vector < pair < int,int > > plane;
sort(plane.begin(),plane.end())

3Dの場合:

Vector < pair < int,pair < int,int > > > space;
sort(space.begin(),space.end());

前もって感謝します。シャンタヌ

4

2 に答える 2

5

並べ替えアルゴリズムを実装する必要はありません。コンパレータを実装する必要があります。コンパレータは、で使用できますCollections.sort()

詳細については、Javaチュートリアルのオブジェクトの順序を参照してください。

于 2012-06-17T12:10:33.090 に答える
1

Javaにはいくつかのオプションがあります。

  1. Collections.sort(List l)

    使用するjava.lang.Comparable // For sorting only on the basis of one property

  2. Collections.sort(List l, Comparator c)

    使用するjava.util.Comparator // For sorting in more than one way

  3. 一意性が必要な場合は、並べ替えとともに使用しますTreeSet()

    TreeSet()   // Sorting in Natural order
    
    TreeSet(Comparator c)   // Sorting in more than one way.
    
于 2012-06-17T12:20:12.793 に答える