2. Calculați diferența dintre cea mai mare și cea mai mică comandă de tip DELIVERY pentru fiecare valută. Returnați rezultatul pentru fiecare valută. Valutele din rezultat trebuie să fie în ordine crescătoare a acestei diferențe. /** * Returnează o hartă de tip {valută (în ordine crescătoare) – diferența dintre cea mai mare și cea mai mică comandă de tip DELIVERY pentru valută}. * Dacă pentru o valută există doar o comandă, atunci ea este atât cea mai mare, cât și cea mai mică, iar diferența este 0. * Exemplu de date de intrare: * [ * Order(DELIVERY, "EUR", 2000), * Order(DELIVERY, "USD", 15), * Order(DELIVERY, "RUB", 200), * Order (PICKUP, "RUB", 1250), * Order (DELIVERY, "USD", 35), * Order (PICKUP, "USD", 55), * Order (DELIVERY, "RUB", 100) * ] * * Rezultatul așteptat: * ["EUR" -> 0.0, "USD" -> 20.0, "RUB" -> 100.0] * */ Map<String, Double> getMaxMinusMinDeliveryMapByCurrency(List<OrderData> orderDataList) { }
Java
Care este viteza de căutare în HashMap (medie și cel mai rău caz)?
De ce se setează dimensiunea primului array (temp) egală cu lungimea array-ului de intrare?
Sarcini în Java 1. Implementați metoda: /** * @param a – array de numere, lungimea array-ului poate fi mai mare de 10 milioane. * @return array de numere, fără duplicate. Ordinea numerelor în array-ul original trebuie păstrată. În cazul duplicatelor, trebuie păstrat ultimul element, de exemplu, pentru {2,1,4,2,3} soluția corectă este {1,4,2,3}, și nu {2,1,4,3} Dacă în array-ul de intrare există un element mai mic decât 0, trebuie să se genereze o eroare. De exemplu, pentru {2,3,-1,5} procesarea trebuie să se termine cu o eroare. */ public static double[] task(double[] a) { }
Se poate moșteni un enum în Java?
Ce este o coliziune în HashMap?
Throwable — este o clasă sau o interfață?
Unde poate apărea exact o eroare fără volatile în Double-Checked Locking?
Cum funcționează LEFT JOIN?
Vorbește despre structura de date HashMap
Care este viteza de căutare în LinkedList (medie și cel mai rău caz)?
La ce sunt folosi două array-uri (temp și result)?
De ce în cod comparația tipului de comandă se face prin != și nu prin equals?
Ce trebuie schimbat în acest cod pentru ca implementarea pattern-ului Singleton să fie corectă și sigură pentru fire? public class Singleton { private static final Singleton instance; public Singleton() { } public Singleton getInstance() { if (instance != null) { synchronized (instance) { if (instance == null) { instance = new Singleton(); } } } return instance; } }
Care este contractul dintre hashCode și equals?
Ce este un copac roșu-negru?
Cum s-ar fi putut modifica soluția folosind 1 colecție în loc de 2 (seen și temp)?
Cum se rezolvă problema cu monitorul synchronized(instance) atunci când instance == null?
Vorbește-mi despre API-ul Stream — ce este și cum îl folosești
Prezintă ierarhia excepțiilor în Java