Răspuns :
► PROGRAM JAVA:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.SortedSet;
import java.util.TreeSet;
public class prog {
public static void main(String[] args) throws Exception {
//Creaza BufferedReader pentru intrare standard
InputStreamReader inputStreamReader = new InputStreamReader(System.in);
BufferedReader reader = new BufferedReader(inputStreamReader);
//Set sortat pentru retinerea unei multimi de cuvinte in ordine crescatoare
SortedSet<String> cuvinte = new TreeSet<>();
//String care retine linia curenta
String linie_curenta;
//Cat timp avem linii de citit, citeste linia
while((linie_curenta = reader.readLine()) != null){
//Separa linia in array de cuvinte
String[] arr = linie_curenta.split(" ");
//Adauga fiecare cuvant din array in set
for (String cuv:arr){
if(cuv.length()==0) continue;
cuvinte.add(cuv);
}
}
//Afiseaza fiecare cuvant din multimea ordonata
for(String cuv:cuvinte){
System.out.println(cuv);
}
}
}
► EXPLICATIE:
◘ SortedSet este o interfata care pastreaza o multime sortata de elemente:
- In cazul stringurilor multimea e sortata automat alfabetic daca nu oferim un comparator propriu. Atunci cand vom scoate cuvintele acestea vor fi automat in ordine crescatoare. Deoarece se foloseste un arbore binar de cautare modificat complexitatea e foarte buna la modificarea elementelor (complexitate logaritmica)
- Nu sunt permise elemente duplicate, cu aceasi valoare. Daca adaugam un cuvant de mai multe ori acesta va fi retinut in SortedSet o singura data.
Te invit sa cauti mai multe informatii pe internet despre SortedSet daca doresti sa aflii ce alte functii sunt suportate. Idem pentru BufferedReader.
◘ Pentru a marca sfarsitul unui rand la tastatura folosimcombinatia de taste Ctrl + D
◘ Nota : Am implementat bug fix-ul din urma discutiei avute in comentarii (linia selectata in imagine cu albastru)

Vă mulțumim că ați vizitat site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Dacă aveți întrebări sau nevoie de asistență suplimentară, nu ezitați să ne contactați. Ne vedem curând și nu uitați să ne adăugați la marcaje!