Files
ASDL/asdl/src/jcf_set/exercise/EsercizioParole.java
T
Emanuele Slusarz 29ef5b6655 Aggiunta di parziale
2026-05-10 03:03:50 +02:00

47 lines
1.2 KiB
Java

package jcf_set.exercise;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
public class EsercizioParole {
/*
* EX1 del 27-01-2026 (I Appello)
* Si scriva un metodo
* public List<String> DifferentWordsList(List<String>)
* che, data in input una lista di stringhe, restituisce una
* nuova lista priva di elementi duplicati, contenente tutte le
* stringhe distinte di list e ordinata per lunghezze decrescenti
* (a parità di lunghezza ordinamento lessicografico crescente)
*/
public List<String> DifferentWordsList(List<String> lista) {
Set<String> listaOrd = new TreeSet<String>(new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
int l1 = s1.length();
int l2 = s2.length();
int cmp = Integer.compare(l2, l1);
if (cmp != 0) return cmp;
return s1.compareTo(s2);
}
});
if (lista == null || lista.isEmpty()) return new ArrayList<String>(listaOrd);
Iterator<String> it = lista.iterator();
while (it.hasNext()) {
listaOrd.add(it.next());
}
return new ArrayList<String>(listaOrd);
}
}