Câu hỏi được gắn thẻ «java-stream»

Sử dụng thẻ này cho các câu hỏi liên quan đến việc sử dụng API Stream. Nó được giới thiệu trong Java 8 và hỗ trợ các hoạt động theo kiểu chức năng trên các luồng giá trị, chẳng hạn như các đường ống giảm bản đồ bộ lọc trên các bộ sưu tập.

15
Java 8 Stream với xử lý hàng loạt
Tôi có một tệp lớn chứa danh sách các mục. Tôi muốn tạo một loạt các mục, thực hiện một yêu cầu HTTP với lô này (tất cả các mục đều cần thiết làm tham số trong yêu cầu HTTP). Tôi có thể làm điều đó rất dễ dàng với …


6
Sắp xếp danh sách với stream.sorted () trong Java
Tôi quan tâm đến việc sắp xếp danh sách từ một luồng. Đây là mã tôi đang sử dụng: list.stream() .sorted((o1, o2)->o1.getItem().getValue().compareTo(o2.getItem().getValue())) .collect(Collectors.toList()); Tui bỏ lỡ điều gì vậy? Danh sách không sắp xếp. Nó sẽ sắp xếp danh sách theo mục có giá trị thấp nhất. for (int i …


5
Tại sao tôi không thể ánh xạ số nguyên thành chuỗi khi truyền trực tuyến từ một mảng?
Mã này hoạt động (được lấy trong Javadoc): List<Integer> numbers = Arrays.asList(1, 2, 3, 4); String commaSeparatedNumbers = numbers.stream() .map(i -> i.toString()) .collect(Collectors.joining(", ")); Không thể biên dịch cái này: int[] numbers = {1, 2, 3, 4}; String commaSeparatedNumbers = Arrays.stream(numbers) .map((Integer i) -> i.toString()) .collect(Collectors.joining(", ")); IDEA cho tôi …

7
Sự khác biệt giữa findAny () và findFirst () trong Java 8
На этот вопрос есть ответы на Stack Overflow на русском : Какие различия между findFirst и findAny в Java 8? Tôi ít nhầm lẫn giữa Stream#findAny()và Stream#findFirst()các StreamAPI trong Java 8. Điều tôi hiểu là cả hai sẽ trả về phần tử phù hợp đầu tiên từ luồng, chẳng hạn …


5
Tại sao findFirst () ném NullPointerException nếu phần tử đầu tiên nó tìm thấy là null?
Tại sao điều này ném một 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 Mục đầu tiên stringslà null, đó là một giá trị hoàn toàn chấp nhận được. Hơn nữa, findFirst()trả …

4
Kiểm tra 'Optional.get ()' không có 'isPresent ()'
Tôi có mã tìm kiếm sau trong Java: return getTableViewController().getMe().getColumns().stream().filter($->Database.equalsColumnName($.getId(), columnId)).findFirst().get(); Tôi đã muốn tìm cột theo tên và trả lại cột đầu tiên được tìm thấy. Tôi hiểu có trường hợp không tìm thấy gì và cần xử lý như thế nào? Đây có phải là những gì nó …


12
Java 8 lambda lấy và xóa phần tử khỏi danh sách
Đưa ra danh sách các phần tử, tôi muốn lấy phần tử có thuộc tính đã cho và xóa nó khỏi danh sách. Giải pháp tốt nhất mà tôi tìm thấy là: ProducerDTO p = producersProcedureActive .stream() .filter(producer -> producer.getPod().equals(pod)) .findFirst() .get(); producersProcedureActive.remove(p); Có thể kết hợp get và remove …


14
Java 8, Luồng để tìm các phần tử trùng lặp
Tôi đang cố gắng liệt kê các phần tử trùng lặp trong danh sách số nguyên, ví dụ: List<Integer> numbers = Arrays.asList(new Integer[]{1,2,1,3,4,4}); bằng cách sử dụng Streams of jdk 8. Có ai đã thử. Để loại bỏ các bản sao, chúng ta có thể sử dụng api riêng biệt …

3
Tại sao dòng song song với lambda trong bộ khởi tạo tĩnh lại gây ra bế tắc?
Tôi đã gặp một tình huống kỳ lạ khi sử dụng một luồng song song với lambda trong trình khởi tạo tĩnh dường như vĩnh viễn mà không sử dụng CPU. Đây là mã: class Deadlock { static { IntStream.range(0, 10000).parallel().map(i -> i).count(); System.out.println("done"); } public static void main(final String[] …

3
forEach so với forEachOrdered trong Java 8 Stream
Tôi hiểu rằng các phương pháp này khác nhau về thứ tự thực hiện nhưng trong tất cả các thử nghiệm của tôi, tôi không thể đạt được thứ tự thực hiện khác nhau. Thí dụ: System.out.println("forEach Demo"); Stream.of("AAA","BBB","CCC").forEach(s->System.out.println("Output:"+s)); System.out.println("forEachOrdered Demo"); Stream.of("AAA","BBB","CCC").forEachOrdered(s->System.out.println("Output:"+s)); Đầu ra: forEach Demo Output:AAA Output:BBB Output:CCC forEachOrdered …

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.