、最後に来て、コードの特殊文字の下から。最初に特殊文字で文字列をソートします。
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
public class ComparatorDemo {
String element;
public ComparatorDemo(String element) {
this.element = element;
}
public static void main(String[] args) {
List<ComparatorDemo> stringCollection = new LinkedList<>();
stringCollection.add(new ComparatorDemo("abcd"));
stringCollection.add(new ComparatorDemo("jklm"));
stringCollection.add(new ComparatorDemo("opr"));
stringCollection.add(new ComparatorDemo("zabh"));
stringCollection.add(new ComparatorDemo("bhuy"));
stringCollection.add(new ComparatorDemo("@theh#saj"));
stringCollection.add(new ComparatorDemo("*&^%$"));
stringCollection.add(new ComparatorDemo("**"));
stringCollection.add(new ComparatorDemo("[email protected]#"));
stringCollection.add(new ComparatorDemo("@@#$"));
stringCollection.add(new ComparatorDemo("#$%$"));
stringCollection.add(new ComparatorDemo("%^return"));
System.out.println(stringCollection);
Comparator<ComparatorDemo> comparator = new Comparator<ComparatorDemo>() {
@Override
public int compare(ComparatorDemo o1, ComparatorDemo o2) {
return o1.element.toUpperCase().compareTo(
o2.element.toUpperCase());
}
};
Collections.sort(stringCollection, comparator);
System.out.println(stringCollection);
}
@Override
public String toString() {
return "ComparatorDemo [element=" + element + "]";
}
}
Output :
Unsorted List - [ComparatorDemo [element=abcd], ComparatorDemo [element=jklm], ComparatorDemo [element=opr], ComparatorDemo [element=zabh], ComparatorDemo [element=bhuy], ComparatorDemo [[email protected]#saj], ComparatorDemo [element=*&^%$], ComparatorDemo [element=**], ComparatorDemo [[email protected]#], ComparatorDemo [[email protected]@#$], ComparatorDemo [element=#$%$], ComparatorDemo [element=%^return]]
Sorted List - [ComparatorDemo [[email protected]#], ComparatorDemo [element=#$%$], ComparatorDemo [element=%^return], ComparatorDemo [element=*&^%$], ComparatorDemo [element=**], ComparatorDemo [[email protected]@#$], ComparatorDemo [[email protected]#saj], ComparatorDemo [element=abcd], ComparatorDemo [element=bhuy], ComparatorDemo [element=jklm], ComparatorDemo [element=opr], ComparatorDemo [element=zabh]]
ご質問に質問を含めるのを忘れてしまったようです。 – Biffen
文字列のデフォルトの順序が役に立たない場合は、別の方法で特殊文字でオブジェクトを扱う独自のロジックを記述する必要があります。 –
名前をソートする方法をいくつか例を挙げてお聞かせください。 – SubOptimal