In che modo SynchronizedCollection e le raccolte simultanee nello spazio System.Collections.Concurrent nomi System.Collections.Concurrent differiscono l’una dall’altra, a parte le raccolte simultanee come spazio dei nomi e SynchronizedCollection come class? SynchronizedCollection e tutte le classi in Concurrent Collections forniscono collezioni thread-safe. Come decido quando utilizzarne uno e perché?
Mi piacerebbe await il risultato di BlockingCollection.Take() modo asincrono, quindi non blocco il thread. Alla ricerca di qualcosa di simile: var item = await blockingCollection.TakeAsync(); So che potrei fare questo: var item = await Task.Run(() => blockingCollection.Take()); ma questo tipo uccide l’intera idea, perché invece un altro thread (di ThreadPool ) viene bloccato. C’è qualche […]
C’è un modo per ottenere tutte le coppie nome / valore di querystring in una collezione? Sto cercando un modo integrato in .net, se non posso semplicemente dividere il & e caricare una collezione.
Per collezioni persistenti intendo collezioni come quelle in clojure. Ad esempio, ho una lista con gli elementi (a, b, c). Con una lista normale, se aggiungo d, la mia lista originale avrà (a, b, c, d) come suoi elementi. Con un elenco persistente, quando chiamo list.add (d), torno a una nuova lista, tenendo premuto (a, […]
Oggi stavo codificando felicemente quando sono arrivato a un pezzo di codice che ho già usato centinaia di volte: Iterazione attraverso una raccolta (qui ArrayList) per qualche motivo, ho effettivamente esaminato le opzioni di completamento automatico di Eclipse e mi sono chiesto: Quali casi sono i cicli seguenti migliori da usare rispetto agli altri? Il […]
Ho bisogno di una mappa che possa essere ripetuta nell’ordine decrescente dei suoi valori . Qualcuna delle librerie standard come Apache Commons o Guava fornisce questo tipo di mappa?
Stavo studiando le API legacy nel Collection Framework di Java e ho imparato che classi come Vector e HashTable sono state sostituite da ArrayList e HashMap . Tuttavia, ancora non sono deprecati e considerati come legacy quando, in sostanza, la deprecazione viene applicata alle funzionalità del software che sono state sostituite e dovrebbero essere evitate, […]
Solo per la revisione, qualcuno può spiegare rapidamente che cosa impedisce di funzionare (in fase di compilazione): private HashSet data; … public DataObject[] getDataObjects( ) { return (DataObject[]) data.toArray(); } … e ciò che rende questo il modo in cui funziona: public DataObject[] getDataObjects( ) { return (DataObject[]) data.toArray( new DataObject[ Data.size() ] ); } […]
Qual è la migliore libreria di collezioni primitive Java? (più memoria e tempo efficiente) Ho trovato Trove e FastUtil come i più usati, ma non ho trovato molto confronto tra loro (o tra gli altri) C’è qualche confronto disponibile?
Sto creando una Map da un List come segue: List strings = Arrays.asList(“a”, “bb”, “ccc”); Map map = strings.stream() .collect(Collectors.toMap(Function.identity(), String::length)); Voglio mantenere lo stesso ordine di iterazione List . Come posso creare una LinkedHashMap usando i metodi Collectors.toMap() ?