Usa questo tag per domande relative all'uso dell'API Stream. È stato introdotto in Java 8 e supporta operazioni in stile funzionale su flussi di valori, come pipeline di filtro-riduzione mappa su raccolte.
Sto giocando con pigre operazioni funzionali in Java SE 8, e voglio mapun indice isu una coppia / tupla (i, value[i]), quindi filterbasato sul secondo value[i]elemento, e infine output solo gli indici. Devo ancora soffrire questo: qual è l'equivalente della coppia C ++ <L, R> in Java? nell'audace nuova era …
Sto usando Java Lambda per ordinare un elenco. come posso ordinarlo al contrario? Ho visto questo post , ma voglio usare java 8 lambda. Ecco il mio codice (ho usato * -1) come hack Arrays.asList(files).stream() .filter(file -> isNameLikeBaseLine(file, baseLineFile.getName())) .sorted(new Comparator<File>() { public int compare(File o1, File o2) { int …
In Java 8, c'è ciò Stream.collectche consente le aggregazioni sulle raccolte. In Kotlin, questo non esiste allo stesso modo, tranne forse come una raccolta di funzioni di estensione nello stdlib. Ma non è chiaro quali siano le equivalenze per i diversi casi d'uso. Ad esempio, nella parte superiore di JavaDoc …
Ho una raccolta di BigDecimals (in questo esempio a LinkedList) che vorrei aggiungere insieme. È possibile utilizzare i flussi per questo? Ho notato che la Streamclasse ha diversi metodi Stream::mapToInt Stream::mapToDouble Stream::mapToLong Ognuno dei quali ha un sum()metodo conveniente . Ma, come sappiamo, floate l' doublearitmetica è quasi sempre una …
Supponiamo che io abbia una classe e un metodo class A { void foo() throws Exception() { ... } } Ora vorrei chiamare foo per ogni istanza di Arecapitato da uno stream come: void bar() throws Exception { Stream<A> as = ... as.forEach(a -> a.foo()); } Domanda: come gestisco correttamente …
Posso aggiungere stream o elementi extra, in questo modo: Stream stream = Stream.concat(stream1, Stream.concat(stream2, Stream.of(element)); E posso aggiungere nuove cose mentre vado, in questo modo: Stream stream = Stream.concat( Stream.concat( stream1.filter(x -> x!=0), stream2) .filter(x -> x!=1), Stream.of(element)) .filter(x -> x!=2); Ma questo è brutto, perché concatè statico. Se concatfosse …
Supponiamo di avere un metodo che restituisce una vista di sola lettura in un elenco di membri: class Team { private List < Player > players = new ArrayList < > (); // ... public List < Player > getPlayers() { return Collections.unmodifiableList(players); } } Supponiamo inoltre che tutto il …
È possibile trasmettere un flusso in Java 8? Supponiamo di avere un elenco di oggetti, posso fare qualcosa del genere per filtrare tutti gli oggetti aggiuntivi: Stream.of(objects).filter(c -> c instanceof Client) Dopo questo però, se voglio fare qualcosa con i clienti, dovrei lanciare ciascuno di essi: Stream.of(objects).filter(c -> c instanceof …
Javadoc di Collector mostra come raccogliere elementi di un flusso in un nuovo elenco. Esiste un one-liner che aggiunge i risultati in una ArrayList esistente?
Domanda generale: qual è il modo corretto di invertire uno stream? Supponendo che non sappiamo in che tipo di elementi è costituito lo stream, qual è il modo generico per invertire qualsiasi stream? Domanda specifica: IntStreamfornisce un metodo di intervallo per generare numeri interi in un intervallo specifico IntStream.range(-range, 0), …
In JDK 8 con lambda b93 c'era una classe java.util.stream.Streams.zip in b93 che poteva essere usata per comprimere i flussi (questo è illustrato nel tutorial Exploring Java8 Lambdas. Parte 1 di Dhananjay Nene ). Questa funzione: Crea uno Stream combinato pigro e sequenziale i cui elementi sono il risultato della …
Voglio elaborare liste all'interno di un XML oggetto Java. Devo garantire l'elaborazione di tutti gli elementi per averli ricevuti. Devo quindi invocare sequentialciascunostream che utilizzo? list.stream().sequential().filter().forEach() O è sufficiente usare il flusso solo se non uso il parallelismo? list.stream().filter().forEach()
Ho un set di dati rappresentato da un flusso Java 8: Stream<T> stream = ...; Vedo come filtrarlo per ottenere un sottoinsieme casuale, ad esempio Random r = new Random(); PrimitiveIterator.OfInt coin = r.ints(0, 2).iterator(); Stream<T> heads = stream.filter((x) -> (coin.nextInt() == 0)); Posso anche vedere come potrei ridurre questo …
I flussi Java 8 sono simili agli osservabili RxJava? Definizione stream Java 8: Le classi nel nuovo java.util.streampacchetto forniscono un'API Stream per supportare operazioni in stile funzionale su flussi di elementi.
Quando useresti collect()vs reduce()? Qualcuno ha buoni esempi concreti di quando è decisamente meglio andare in un modo o nell'altro? Javadoc menziona che collect () è una riduzione mutabile . Dato che si tratta di una riduzione mutabile, suppongo che richieda la sincronizzazione (internamente) che, a sua volta, può essere …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.