Premessa: tutti gli algoritmi di ordinamento che sono dei Comparison sort, vanno a fare tanti confronti tra coppie di elementi. Quali coppie, con quale sequenza e logica, dipende appunto dall'algoritmo.
Il Selection Sort, come altri, arriva ad un punto in cui confronta due elementi. Visto che parli di String, parli di oggetti e su di essi non si possono usare < > <= >=, si devono usare dei metodi. E in Java la astrazione principale per la comparazione degli oggetti è la interfaccia Comparable (oltre a Comparator). String è Comparable, quindi ha il compareTo(String).
Pertanto se str1.compareTo(str2) dà minore di 0, allora significa: str1 minore di str2
Cosa si fa in base a questo risultato, dipende dall'algoritmo ma tipicamente si scambiano i due elementi.
P.S. Se vuoi implementare un algoritmo di ordinamento è tipicamente per motivi puramente "didattici". Altrimenti si usano i sort già implementati nel framework standard.![]()