私は次のクラスを持っています。ユーザー入力に基づいてJavaでarrayListを並べ替える
class{
String name;
int marks;
};
ここでは、ユーザーの入力に基づいてアルファベット順(名前)または降順(マーク)のいずれかでソートする必要があります。 このためにコンパレータ機能を書き込む方法。 ユーザーは、名前を使用してソートするには「n」を、マークを使用してソートするには「m」を入力します。
私は次のクラスを持っています。ユーザー入力に基づいてJavaでarrayListを並べ替える
class{
String name;
int marks;
};
ここでは、ユーザーの入力に基づいてアルファベット順(名前)または降順(マーク)のいずれかでソートする必要があります。 このためにコンパレータ機能を書き込む方法。 ユーザーは、名前を使用してソートするには「n」を、マークを使用してソートするには「m」を入力します。
いずれかを選択し、以下を実行しマークため名別のための2つのComparator<>
1を作成し、ユーザの入力に基づきます。
Collections.sort(yourList, yourComparator);
あなたはこれまでに何をした?sort(List<T> list, Comparator<? super T> c))
public class YourFirstComparator implements Comparator<YourClass> {
@Override
public int compare(YourClass o1, YourClass o2) {
// your logic to return
// -1 if o1 is small, 1 is o1 is greater, 0 if both are equals
return yourValue
}
}
これらのコンパレータはどのように見えるでしょうか? –
@SashaSalauyou更新された答え –
を参照してください。私は、すでにOPクラスに 'name'と' makrs'変数があるので、 'Comparator.comparing(e - > e.name)'と 'Comparator.comparing (e - > - e.marks) ' –
を参照してください。 – Rehman
ユーザ入力をコンパレータに渡すか、ユーザ入力に基づいてコンパレータを選択します(おそらくこれを行うより良い方法です)。 – Thomas
私はJavaを初めて使い、ArrayListを勉強したので、どうやって起動するのか分かりません。 – Souvik