Domande taggate «java-stream»

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.

15
Java 8 Stream con elaborazione batch
Ho un file di grandi dimensioni che contiene un elenco di elementi. Vorrei creare un batch di elementi, effettuare una richiesta HTTP con questo batch (tutti gli elementi sono necessari come parametri nella richiesta HTTP). Posso farlo molto facilmente con un forciclo, ma come amante di Java 8, voglio provare …

6
Come verificare se un Java 8 Stream è vuoto?
Come posso verificare se a Streamè vuoto e lanciare un'eccezione in caso contrario, come operazione non terminale? Fondamentalmente, sto cercando qualcosa di equivalente al codice seguente, ma senza materializzare il flusso intermedio. In particolare, il controllo non dovrebbe avvenire prima che il flusso venga effettivamente consumato da un'operazione del terminale. …

6
Ordinamento di un elenco con stream.sorted () in Java
Mi interessa ordinare un elenco da uno stream. Questo è il codice che sto usando: list.stream() .sorted((o1, o2)->o1.getItem().getValue().compareTo(o2.getItem().getValue())) .collect(Collectors.toList()); Mi sto perdendo qualcosa? L'elenco non è in ordine. Dovrebbe ordinare gli elenchi in base all'elemento con il valore più basso. for (int i = 0; i < list.size(); i++) { …

5
Perché non riesco a mappare gli interi alle stringhe durante lo streaming da un array?
Questo codice funziona (preso in Javadoc): List<Integer> numbers = Arrays.asList(1, 2, 3, 4); String commaSeparatedNumbers = numbers.stream() .map(i -> i.toString()) .collect(Collectors.joining(", ")); Questo non può essere compilato: int[] numbers = {1, 2, 3, 4}; String commaSeparatedNumbers = Arrays.stream(numbers) .map((Integer i) -> i.toString()) .collect(Collectors.joining(", ")); IDEA mi dice che ho una …

4
"Optional.get ()" senza controllo "isPresent ()"
Ho il seguente codice di ricerca in Java: return getTableViewController().getMe().getColumns().stream().filter($->Database.equalsColumnName($.getId(), columnId)).findFirst().get(); Volevo trovare una colonna per nome e restituire la prima trovata. Capisco che c'è un caso in cui non è stato trovato nulla e dovrebbe essere elaborato, ma come? È questo ciò che vuole da questo giuramento: 'Optional.get()' without …

12
Java 8 lambda ottiene e rimuove l'elemento dall'elenco
Dato un elenco di elementi, voglio ottenere l'elemento con una determinata proprietà e rimuoverlo dall'elenco. La migliore soluzione che ho trovato è: ProducerDTO p = producersProcedureActive .stream() .filter(producer -> producer.getPod().equals(pod)) .findFirst() .get(); producersProcedureActive.remove(p); È possibile combinare get e remove in un'espressione lambda?

7
Differenza tra findAny () e findFirst () in Java 8
На этот вопрос есть ответы на Stack Overflow на русском : Какие различия между findFirst и findAny in Java 8? Sto po 'confuso tra la Stream#findAny()e Stream#findFirst()della StreamAPI in Java 8. Quello che ho capito è che entrambi restituiranno il primo elemento corrispondente dallo stream, ad esempio, se usati insieme …

5
Perché findFirst () genera un'eccezione NullPointerException se il primo elemento che trova è nullo?
Perché questo genera un java.lang.NullPointerException? List<String> strings = new ArrayList<>(); strings.add(null); strings.add("test"); String firstString = strings.stream() .findFirst() // Exception thrown here .orElse("StringWhenListIsEmpty"); //.orElse(null); // Changing the `orElse()` to avoid ambiguity Il primo elemento stringsè null, che è un valore perfettamente accettabile. Inoltre, findFirst()restituisce un Optional , che ha ancora più …

6
È possibile utilizzare l'API Java 8 Stream su API Android <24?
Ho letto questo post qui. Ma ancora non riesco a eseguire codice contenente le funzionalità API Java 8 Stream come le seguenti su minSdkVersion &lt;24. List&lt;Car&gt; newCars = cars.stream() .filter(s -&gt; s.getColor().equals("red")) .collect(Collectors.toList()); Non viene eseguito a causa del messaggio di errore La chiamata richiede il livello API 24 (il …

5
Come dovremmo gestire il flusso jdk8 per i valori nulli
Ciao amici sviluppatori Java, So che l'argomento potrebbe essere un po 'in in advancequanto il JDK8 non è ancora stato rilasciato (e non per ora comunque ..) ma stavo leggendo alcuni articoli sulle espressioni Lambda e in particolare sulla parte relativa alla nuova API di raccolta nota come Stream. Ecco …


14
Java 8, Streams per trovare gli elementi duplicati
Sto cercando di elencare elementi duplicati nell'elenco di numeri interi, ad esempio, List&lt;Integer&gt; numbers = Arrays.asList(new Integer[]{1,2,1,3,4,4}); utilizzando Streams di jdk 8. Qualcuno ha provato. Per rimuovere i duplicati possiamo usare l'api distinte (). Ma per quanto riguarda la ricerca degli elementi duplicati? Qualcuno mi può aiutare?

3
forEach vs forEachOrdered in Java 8 Stream
Capisco che questi metodi differiscono nell'ordine di esecuzione ma in tutti i miei test non riesco a ottenere una diversa esecuzione degli ordini. Esempio: System.out.println("forEach Demo"); Stream.of("AAA","BBB","CCC").forEach(s-&gt;System.out.println("Output:"+s)); System.out.println("forEachOrdered Demo"); Stream.of("AAA","BBB","CCC").forEachOrdered(s-&gt;System.out.println("Output:"+s)); Produzione: forEach Demo Output:AAA Output:BBB Output:CCC forEachOrdered Demo Output:AAA Output:BBB Output:CCC Fornisci esempi quando 2 metodi produrranno output diversi.

3
Perché il flusso parallelo con lambda nell'inizializzatore statico causa un deadlock?
Mi sono imbattuto in una strana situazione in cui l'utilizzo di un flusso parallelo con un lambda in un inizializzatore statico richiede apparentemente per sempre senza l'utilizzo della CPU. Ecco il codice: class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -&gt; i).count(); System.out.println("done"); } public static void main(final String[] args) {} …

7
Esempio di metodo FlatMap di Java 8 Streams
Sono stato controllando il prossimo Java update, vale a dire: Java 8 or JDK 8. Sì, sono impaziente, ci sono molte cose nuove, ma c'è qualcosa che non capisco, un semplice codice: final Stream&lt;Integer&gt;stream = Stream.of(1,2,3,4,5,6,7,8,9,10); stream.flatMap(); i javadoc sono public &lt;R&gt; Stream&lt;R&gt; flatMap(Function&lt;? super T,? extends Stream&lt;? extends R&gt;&gt; …

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.