Tag: java-stream
Verwenden Sie dieses tag für Fragen im Zusammenhang mit der Verwendung der Stream-API. Es war eingeführt in Java 8 und unterstützt die funktionale-Stil-Operationen auf streams von Werten, wie filter-map-reduce “ – Rohrleitungen auf Sammlungen.
1
Antworten
Ich versuche zu tun, eine groupingBy auf zwei Attributen zu einem Objekt mit Java-streams. Das ist einfach genug, wie wurde dokumentiert durch einige Antworten: products.stream().collect( Collectors.groupingBy(Product::getUpc, Collectors.groupingBy(Product::getChannelIdentifier))); beispielsweise das obige snippet erzeugt eine Karte der Karten in
4
Antworten
Nehmen wir ein ArrayList und füllen Sie es mit etwas einfachem: List<String> list = new ArrayList<>(); for (int i = 0; i < 10; i++) { list.add(""+i); } Werde ich versuchen, Sie zu entfernen ein Mitglied, sagen
1
Antworten
Ich versuche, mit java8 ist Collectors.toMap auf eine Stream von ZipEntry. Es ist vielleicht nicht die beste Idee, weil der möglichen Ausnahmen auftreten, während der Verarbeitung, aber ich denke, es sollte möglich sein. Ich bin jetzt immer
8
Antworten
Habe ich den code unten, die ist bisschen hässlich für mehrere null-Kontrollen. String s = null; if (str1 != null) { s = str1; } else if (str2 != null) { s = str2; } else if
2
Antworten
Ich versuche, etwas zu tun, was scheinbar unkompliziert, aber ohne Glück so weit. Ich habe eine Liste von Karte, Sie kommen aus einer Reihe von CompletableFutures parallel, das Ergebnis hat dann zusammengefügt werden. Da der key in
1
Antworten
List<Person> personsInOMwithTypeDsc = personsInOm.stream() .filter(e -> e.getPersonType().getPersonTypeId() ==1 ) .forEach(personTypeList.stream() .foreach(d -> d.getPersonTypeId() == 1 ) .map(Person::setPersonType(d)) .collect(Collectors.toList()); Will ich weisen Sie einer variable einen Wert zu, der in das erste Objekt, wenn die Bedingung der inneren
4
Antworten
Möchte ich, um index, wenn die traverse Liste lambda. Beispiel: List<CheckBox> checkBoxes = null; checkBoxes.forEach(checkBox -> { if (checkBox.isSelected()) { sb.append("index"); //I want to get checkbox index here sb.append(","); } }); BEARBEITEN: Die checkBoxes = null; ist
3
Antworten
Hinweis: ich habe bereits angesprochen, dieses problem in einem anderen, SO post - Die Verwendung einer semaphore innerhalb einer geschachtelten Java 8 parallel-stream handeln, kann der DEADLOCK. Ist das ein bug? -, aber der Titel von diesem
2
Antworten
Ich habe eine Bedingung, wo es einige überprüfungen vorgenommen werden, um ein Objekt zu erstellen. Ich bin mit Streams für dieses, und ich bin eine harte Zeit in getting dies getan. Dem Eingang ist ein HashMap -
2
Antworten
sagen, ich habe den folgenden code public class A { int x; public boolean is() {return x%2==0;} public static boolean is (A a) {return !a.is();} } und in einer anderen Klasse... List<A> a = ... a.stream().filter(b->b.isCool()); a.stream().filter(A::is);
2
Antworten
Also habe ich einen Strom, der kommt aus einer Liste, aber ich habe einige Schwierigkeiten die Umwandlung in einen <ObjectType>, hier ist, was ich versucht habe: ObjectType sco = getList().stream() .filter(p -> p.getValue() == value) .findFirst(); //also
4
Antworten
Unten ist meine Liste von String. ["sunday", "monday", "tuesday", "wednesday", "fri", "satur"] Ich soll Sie entfernen "Tag" aus den Elementen, wenn es zu Ende geht mit "der Tag". Wie dies in Lambda ? Erwartete Ausgabe in der
1
Antworten
Hintergrundinformationen Habe ich die folgenden Klassen: Versicherung public class Insurance { ... } Kunde public class Customer { private List<Insurance> insurances; public List<Insurance> getInsurances() { return insurances; } ... } CustomerRegistry public class CustomerRegistry { private List<Customer>
1
Antworten
Habe ich Sammlung von Elementen, die möchte ich parallel verarbeiten. Wenn ich mit einem List, Parallelität funktioniert. Jedoch, wenn ich mit einem Set es nicht parallel laufen lassen. Schrieb ich ein Codebeispiel, das veranschaulicht das problem: public
7
Antworten
Gehe ich java 8 lernen. Habe ich gefunden, Interessantes Verhalten: können siehe code-Beispiel: //identity value and accumulator and combiner Integer summaryAge = Person.getPersons().stream() //.parallel() //will return surprising result .reduce(1, (intermediateResult, p) -> intermediateResult + p.age, (ir1, ir2)
3
Antworten
Ich würde gerne Zusammenführen von zwei Anzeigen mit JAVA 8 Stream: Map<String, List<String>> mapGlobal = new HashMap<String, List<String>>(); Map<String, List<String>> mapAdded = new HashMap<String, List<String>>(); Ich versuche, mit dieser Umsetzung: mapGlobal = Stream.of(mapGlobal, mapAdded) .flatMap(m -> m.entrySet().stream())
4
Antworten
Aus der Stream javadoc: Stream-Pipeline ausführen können entweder sequentiell oder parallel. Dieser Ausführungsmodus ist eine Eigenschaft des Streams. Streams erstellt werden, mit einer anfänglichen Wahl der sequentielle oder parallele Ausführung. Meine Annahmen: Es gibt keinen funktionalen Unterschied
4
Antworten
Habe ich eine Liste von Google PlaceSummary Objekte stammt aus der Google Places API. Ich würde gerne sammeln und gruppieren Sie Sie durch Ihre Google-Platz-ID, sondern auch weiterhin die Reihenfolge der Elemente. Was ich dachte, funktionieren würde,
2
Antworten
Ich versuche mich zu sammeln, in eine ListMultiMap, die mit java 8 ohne Verwendung der forEach-operation. Wenn ich den code schreiben, der in Java 7, es wird so etwas wie dieses: ListMultimap<String, String> result = ArrayListMultimap.create(); for(State
4
Antworten
Wie filterst du geschachtelte Schleifen mit java8-streams und Filter? Angenommen ich habe eine Liste mit Autos (List<Car>), jedes Auto mit einer Liste der Motoren (List<Engine>), jeden Motor mit einem List<Parts>. In regulären Java-dieser Struktur kann beschrieben werden
2
Antworten
Ich versuche, mithilfe der parallelStream() in DAO mit Spring @Transactional Anmerkungen und bekommen so problem: @Transactional public void processCollection(Collection<Object> objects) { objects.parallelStream() .forEach(this::processOne); //throw exception } @Transactional public void processOne(Object o) { ... } Funktioniert richtig: @Transactional
2
Antworten
Java 8 hat eine neue Schnittstelle namens IntStream. Habe ich seine of() statische Methode und begegnet einem seltsamen Fehler: Diese statische Methode der Schnittstelle IntStream kann nur zugegriffen werden, wie IntStream.of Aber als Sie kann sehen Sie
1
Antworten
Ich versuche, einen Strom von List<Map<String, Integer>> verschmelzen alle Karten enthalten in einem. Dies ist das zusammenfassen mehrere Anfrage-beantwortungen in einem. Betrachten Sie dieses dataset (mit JSON machen es leichter zu Lesen): [ {"field1": 1, "field2": 5},
4
Antworten
War ich versucht zu konvertieren, das String r = ""; for ( Persona p : list ) { r += p.lastName; } Zu stream().filter.collect() form, aber ich möchte wissen, wie man die collect mit ein lambda-Ausdruck (nicht-Methode
4
Antworten
Ich habe eine hashmap in Java, dass ich eine Einschränkung in der Größe (um 50000). Aber ich sollte löschen Sie nur die Elemente, die die ältesten sind. Der UNIX-timestamp das Element gespeichert ist, in den Eintrag Objekt-Feld:
1
Antworten
Ich habe eine enum mit anderen enum als parameter public enum MyEntity{ Entity1(EntityType.type1, .... MyEntity(EntityType type){ this.entityType = entityType; } } Ich möchte eine Methode erstellen, die Rückkehr der enum vom Typ public MyEntity getEntityTypeInfo(EntityType entityType) {
2
Antworten
Das Szenario ist, es gibt verschiedene Arten von filtern, die ich geschaffen habe, welche Filter die Liste der einige Objekte auf der Grundlage der Eigenschaft des Objekts. Also für das, dass ich erstellt habe, eine AbstractObjectFilter Klasse,
3
Antworten
Ich bin immer Cannot infer type arguments for java.util.HashMap<> für den folgenden code class Test { public static void main(String args) { Map<Integer, String> map = new HashMap<>(); map.put(1, "x"); map.put(2, "y"); map.put(3, "x"); map.put(4, "z"); //the
4
Antworten
So habe ich zum Beispiel Klasse Person mit Namen und Familienname Felder. Will ich sammeln List von String (die Namen und die Familiennamen alle zusammen) aus List von Person, aber es scheint, dass ich kann nicht mit
6
Antworten
Kürzlich, ich sehe eine Menge von code in einige Projekte, die mithilfe von Strom für die Filterung von Objekten, wie: library.stream() .map(book -> book.getAuthor()) .filter(author -> author.getAge() >= 50) .map(Author::getSurname) .map(String::toUpperCase) .distinct() .limit(15) .collect(toList())); Gibt es irgendwelche
1
Antworten
Ich konvertieren möchten InputStream is in eine Stream<String> stream gegeben Charset cs in der Weise, dass stream besteht aus den Zeilen von is. Weiterhin ist eine Linie von is sollte nicht sofort gelesen, sondern nur im Falle
1
Antworten
Möchte ich nennen, einen Konstruktor für MySortedSet, nimmt in einem Komparator c als parameter. Wie kann ich ändern, dies so zu tun? public MySortedSet<E> subSet(E fromElement, E toElement) { return list.stream() .filter(x -> (list.indexOf(x) <= list.indexOf(fromElement) &&
3
Antworten
Als Beispiel, es gibt zwei Listen: List<Double> list1 = Arrays.asList(1.0, 2.0); List<String> list2 = Arrays.asList("one_point_zero", "two_point_zero"); Stream, ich möchte eine Karte erstellen aus diesen Listen, in denen list1 ist für Schlüssel und liste2 ist für Werte. Es
3
Antworten
Ich habe zwei Listen, die als Folge von List<String> names = Arrays.asList("James","John","Fred"); List<Integer> ages = Arrays.asList(25,35,15); Was ich will zu tun ist, drucken Sie diese beiden Listen wie so James:25 John:35 Fred:15 Es ist leicht, es zu
3
Antworten
Wenn Sie ein Array, und Sie möchten, verwenden Sie die Java8 forEach () - Methode, die Vorgehensweise besser oder effizienter: Arrays.asList(new String{"hallo","hi"}).forEach(System.out::println); oder Arrays.stream(new String{"hallo","hi"}).forEach(System.out::println); Ist der Unterschied signifikant ist oder gibt es bessere Lösungen um dieses
3
Antworten
Hier ist mein Verständnis der Stream-framework von Java 8: Etwas schafft eine Quelle Stream Die Umsetzung ist verantwortlich für die Bereitstellung einer BaseStream#parallel() - Methode, die in Wendungen gibt einen Stream, können diese Operationen parallel. Zwar hat
1
Antworten
Ich versuche zu konvertieren JSONArray zu einem Map<String,String> über streams und Lambdas. Das folgende funktioniert nicht: org.json.simple.JSONArray jsonArray = new org.json.simple.JSONArray(); jsonArray.add("pankaj"); HashMap<String, String> stringMap = jsonArray.stream().collect(HashMap<String, String>::new, (map,membermsisdn) -> map.put((String)membermsisdn,"Error"), HashMap<String, String>::putAll); HashMap<String, String> stringMap1 =
2
Antworten
Sagen, ich habe den folgenden code data.stream() .map(x -> { Object a = maybeReturnsNull(x); return a == null ? defaultValue : a; }) Ich habe eine Funktion, die vielleicht die Rückkehr null, und ich bin Ihre Anwendung
2
Antworten
Werfen Sie einen Blick auf dieses Stück code. //group by price, uses 'mapping' to convert List<Item> to Set<String> Map<BigDecimal, Set<String>> result = items.stream().collect( Collectors.groupingBy(Item::getPrice, Collectors.mapping(Item::getName, Collectors.toSet()) ) ); Ist groupingBy und Zuordnung austauschbar? Was ist Ihre Unterschiede?
3
Antworten
Finden Sie diesen code: (Dies funktioniert code, aber ich weiß nicht, wie für die Verwendung von 2 Zeilen, so suchen, wie kann ich es besser machen) ItemDetails items = response.getDetailsList(); items = Arrays.stream(items).filter(x -> !x.getName().equalsIgnoreCase("acl1")).toArray(ItemDetails::new); items =
3
Antworten
Habe ich eine Reihe von Eingabe-Strings im folgenden format: typeA:code1, typeA:code2, typeA:code3, typeB:code4, typeB:code5, typeB:code6, typeC:code7, ... und ich brauche, um eine Map<String, List<String>> mit der folgenden Struktur: typeA, [code1, code2, code3] typeB, [code4, code5, code6] typeC,
9
Antworten
Habe ich die folgende Auflistung geben: Map<String, Collection<String>> map; Ich würde gerne erstellen Sie einzigartige Kombinationen von jeweils map.size() aus einem einzigen Wert in der Auflistung für jeden Schlüssel. Zum Beispiel nehmen wir an, die Karte sieht
2
Antworten
public class Message { private int id; private User sender; private User receiver; private String text; private Date senddate; .. } Habe ich List<Message> list= new ArrayList<>(); Ich brauche umzuwandeln TreeMap<User,List<Message>> map Ich weiß, wie zu tun,
2
Antworten
Ich versuche umgestalten, einen alten code zu verwenden, streams, und mein Erster Ansatz war dieser: public void run() throws IOException { Files.list(this.source) .filter(Images::isImage) .map(Image::new) .filter(image -> image.isProportional(this.height, this.width)) .map(image -> image.resize(this.height, this.width)) .forEach(image -> Images.write(image, this.destination)); }
2
Antworten
Gibt es eine Summe() Methode äquivalent in Strom durchführen können, die Multiplikation von Werten in einen Datenstrom? Habe ich eine Liste von ganzen zahlen wie diese : List<Integer> listOfIntegers = new ArrayList<>(); listOfIntegers.addAll(Arrays.asList(1,4,2,7,5)); Ich bin in der
8
Antworten
Mein Fall ist: class Person { String id ; String name; String age; } List<Person> list1 = {p1,p2, p3}; List<Person> list2 = {p4,p5, p6}; Möchte ich wissen, ob es die person in list1 mit den gleichen Namen
3
Antworten
Ich bin auf der Suche nach einer prägnanten Art und Weise heraus zu filtern Elemente einer Liste an einem bestimmten index. Mein Beispiel Eingabe sieht wie folgt aus: List<Double> originalList = Arrays.asList(0.0, 1.0, 2.0, 3.0, 4.0, 5.0,
5
Antworten
Habe ich eine Drittanbieter-Bibliothek, die gibt mir eine Enumeration<String>. Ich möchte mit dieser Aufzählung träge wie ein Java-8 Stream, ruft Dinge wie filter, map und flatMap drauf. Gibt es eine Bibliothek, bei der das in es? Ich
3
Antworten
Ich habe eine Liste von Objekten, wobei jedes Objekt zurückgibt List<String>. Wie kann ich mit Java 8 streams", um nur ein List<String>? Contact - Klasse hat die folgende Methode; public List<String> getSharedFriendsIds() { return sharedFriendsIds; } Und
3
Antworten
Ich versuche, herauszufinden, warum dieser code nicht kompilieren auf JDK 1.8.0_45: public class Example<E extends Example<E>> { public List<? extends Example<?>> toExamples(Collection<String> collection) { return collection.stream() .map(v -> lookup(v)) .collect(Collectors.toList()); } public static <E extends Example<E>> E