2. Calcola la differenza tra l'ordine più grande e quello più piccolo di tipo DELIVERY per ogni valuta. Restituisci il risultato per ogni valuta. Le valute nel risultato devono essere ordinate in base alla differenza crescente. /** * Restituisce una mappa del tipo {valuta (in ordine crescente di differenza) – differenza tra l'ordine più grande e quello più piccolo di tipo DELIVERY per quella valuta}. * Se per una valuta c'è solo un ordine, allora è sia il più grande che il più piccolo e la differenza è 0. * Esempio di dati di input: * [ * 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) * ] * * Risultato atteso: * ["EUR" -> 0.0, "USD" -> 20.0, "RUB" -> 100.0] * */ Map<String, Double> getMaxMinusMinDeliveryMapByCurrency(List<OrderData> orderDataList) { }
Java
Qual è la velocità di ricerca in HashMap (media e peggiore)?
Perché impostare la dimensione del primo array (temp) uguale alla lunghezza dell'array di input?
Compiti in Java 1. Scrivi l'implementazione del metodo: /** * @param a – array di numeri, la lunghezza dell'array può essere superiore a 10 milioni. * @return array di numeri, senza duplicati. L'ordine dei numeri nell'array originale deve essere mantenuto. In caso di duplicati, si deve lasciare l'ultimo elemento, ad esempio, per {2,1,4,2,3} la soluzione corretta è {1,4,2,3}, e non {2,1,4,3} Se nell'array di input c'è un elemento inferiore a 0, deve essere generato un errore. Ad esempio, per {2,3,-1,5} l'elaborazione deve terminare con un errore. */ public static double[] task(double[] a) { }
È possibile ereditare un enum in Java?
Cos'è una collisione in HashMap?
Throwable è una classe o un'interfaccia?
Dove esattamente può verificarsi un errore senza volatile nel Double-Checked Locking?
Come funziona LEFT JOIN?
Qual è la velocità di ricerca in LinkedList (media e peggiore)?
Parla della struttura dati HashMap
Perché nel codice il confronto del tipo di ordine avviene tramite != invece di equals?
A cosa servono due array (temp e result)?
Cosa bisogna modificare in questo codice affinché l'implementazione del pattern Singleton sia corretta e thread-safe? 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; } }
Qual è il contratto tra hashCode e equals?
Cos'è un albero rosso-nero?
Parlami di API Stream — cos'è e come la usi
Come risolvere il problema con il monitor synchronized(instance) quando instance == null?
Come si potrebbe modificare la soluzione usando 1 collezione invece di 2 (seen e temp)?
Cosa fa il metodo map negli stream?