私はarraylistのarraylistを持っています、各内部arraylistには2つの値が含まれ、最初は整数で、2番目は文字列なので、基本的には次のようになります:{5、いくつかのテキスト}、{12、いくつかのテキスト}、{3、さらに多くのテキスト}など、私がやりたいのは、これを取得して、最大の整数から最小の整数の降順で並べ替えることです。したがって、前の例は次のようになります。{12、もう少しテキスト}、{5、いくつかtext}、{3、さらに多くのtext}、どんな助けでも事前に感謝します
2175 次
2 に答える
6
データ構造は、実際には「マップ」のように聞こえます。たぶん、データ構造、特にコレクションインターフェイスとクラスを調べる必要があります...
それでも自分が持っているものが「リスト」であると思う場合は、適切な種類のコンパレータまたは比較可能でCollections.sort操作を行う必要があります。
リストが正しい場合のデータ構造の解決策は次のとおりです。
import java.util.ArrayList;
import java.util.Collections;
public class InnerObject implements Comparable<InnerObject> {
Integer index;
String name;
public InnerObject(Integer index, String name) {
this.index = index;
this.name = name;
}
@Override
public int compareTo(InnerObject other) {
return index.compareTo(other.index);
}
@Override
public String toString() {
return "{" + index + "," + name + "}";
}
public static void main(String[] args) {
ArrayList<InnerObject> list = new ArrayList<InnerObject>();
list.add(new InnerObject(666, "devil"));
list.add(new InnerObject(1, "one"));
list.add(new InnerObject(10, "ten"));
System.out.println("list before order: " + list);
Collections.sort(list);
System.out.println("list after order: " + list);
}
}
于 2012-05-22T13:37:16.013 に答える
0
内部リストに2つのプロパティを持つ1つのオブジェクトを含めることができればより良いでしょう。このオブジェクトは、並べ替えに使用できます。
于 2012-05-22T13:35:43.590 に答える