- Tạo ứng dụng Spring Boot bằng Spring Launchizr
- Cấu hình Cassandra trong Spring Boot
- Định cấu hình nhóm kết nối Tomcat trên Spring Boot
- Định tuyến tin nhắn Camel đến Artemis được nhúng bằng WildFly
List coll = ListUtil.of(1, 2, 3, 1, 2).stream().filter(Objects::nonNull).distinct().collect(Collector.toList()); println(collect); Danh sách coll1 = ListUtil.of("user1", "user1", "user2").stream().filter(Objects::nonNull).distinct().collect(Collectors.toList()); System.out.println(collect1);
Kết quả đầu ra:
[1, 2, 3] [người dùng1, người dùng2]
dựa trên một thuộc tính
List userList = new ArrayList<>(Arrays.asList( new User(1L,new BigDecimal("10")),18), new User(1L,new BigDecimal("20"),19), new User( 2L,new BigDecimal("100"),18))); System.out.println("Trước khi chống trùng lặp"+userList =); userList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getId()))), ArrayList::new)); out.println("Sau khi xóa trùng lặp"+userList);
Kết quả đầu ra:
Trước khi loại bỏ trùng lặp [Người dùng{id=1, money=10}, Người dùng{id=1, money=20}, Người dùng{id=2, money=100}] Sau khi loại bỏ trùng lặp [Người dùng{id=1, money=10 }, Người dùng{id=2, money=100}]
dựa trên nhiều thuộc tính
List userList = new ArrayList<>(Arrays.asList( new User(1L,new BigDecimal("10")),18), new User(1L,new BigDecimal("20"),19), new User( 2L,new BigDecimal("100"),18))); System.out.println("Trước khi chống trùng lặp"+userList =); userList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getId() + ";" + o.getAge()))) , ArrayList::new)); System.out.println("Sau khi xóa bản sao"+userList);
Kết quả đầu ra:
Trước khi loại bỏ trùng lặp [Người dùng{id=1, money=10, age=18}, Người dùng{id=2, money=20, age=19}, Người dùng{id=3, money=100, age=17}] đi Lặp lại [Người dùng{id=1, money=10, tuổi=18}, Người dùng{id=2, money=20, age=19}, Người dùng{id=3, money=100, age=17}]
List userList = new ArrayList<>(Arrays.asList( new User(1L,new BigDecimal("10")),18), new User(2L,new BigDecimal("20"),19), new User( 3L,New BigDecimal("100"),17))); System.out.println("trước khi sắp xếp"+userList =); userList.stream().sorted(Comparator.comparing(User::getAge)).collect(Collectors.toList()); System.out.println("Sau khi sắp xếp"+userList);
Kết quả đầu ra:
Trước khi sắp xếp [Người dùng{id=1, money=10, age=18}, Người dùng{id=2, money=20, age=19}, Người dùng{id=3, money=100, age=17}] Sau khi sắp xếp [Người dùng{id=3, money=100, age=17}, Người dùng{id=1, money=10, age=18}, Người dùng{id=2, money=20, age=19}]
List userList = new ArrayList<>(Arrays.asList( new User(1L,new BigDecimal("10")),18), new User(2L,new BigDecimal("20"),19), new User( 3L,New BigDecimal("100"),17))); System.out.println("trước khi sắp xếp"+userList =); userList.stream().sorted(Comparator.comparing(User::getAge).reversed()).collect(Collectors.toList()); System.out.println("Sau khi sắp xếp"+userList);
Kết quả đầu ra:
Trước khi sắp xếp [Người dùng{id=1, money=10, age=18}, Người dùng{id=2, money=20, age=19}, Người dùng{id=3, money=100, age=17}] Sau khi sắp xếp [Người dùng{id=2, money=20, tuổi=19}, Người dùng{id=1, money=10, age=18}, Người dùng{id=3, money=100, age=17}]
List userList = new ArrayList<>(Arrays.asList( new User(1L,new BigDecimal("10")),18), new User(2L,new BigDecimal("20"),19), new User( 3L,New BigDecimal("100"),18))); System.out.println("trước khi sắp xếp"+userList =); userList.stream().sorted(Comparator.comparing(User::getAge).thenComparing(User::getId)).collect(Collectors.toList()); System.out.println("Sau khi sắp xếp"+userList);
Kết quả đầu ra:
Trước khi sắp xếp [Người dùng{id=1, money=10, age=18}, Người dùng{id=2, money=20, age=19}, Người dùng{id=3, money=100, age=18}] Sau khi sắp xếp [Người dùng{id=1, money=10, tuổi=18}, Người dùng{id=3, money=100, age=18}, Người dùng{id=2, money=20, age=19}]
List userList = new ArrayList<>(Arrays.asList( new User(1L,new BigDecimal("10")),18), new User(2L,new BigDecimal("20"),19), new User( 3L,BigDecimal mới("100"),18))); Bản đồ> thu thập = userList.stream().filter(Objects::nonNull).collect(Collectors.groupingBy(User::getAge)); System.out.println(collect);
Kết quả đầu ra:
{18=[Người dùng{id=1, money=10, tuổi=18}, Người dùng{id=3, money=100, age=18}], 19=[Người dùng{id=2, money=20, age= 19}]}
List userList = new ArrayList<>(Arrays.asList( new User(1L,new BigDecimal("10")),18), new User(2L,new BigDecimal("20"),19), new User( 3L,BigDecimal mới("100"),18))); Bản đồ>> thu thập = userList.stream().filter(Objects::nonNull) .collect(Collectors.groupingBy(User::getAge, Collectors.groupingBy(User::getMoney))); System.out.println(JSONUtil.toJsonStr(collect)) ;
Kết quả đầu ra:
List userList = new ArrayList<>(Arrays.asList( new User(1L,new BigDecimal("10")),18), new User(2L,new BigDecimal("20"),19), new User( 3L,BigDecimal mới("100"),18))); Bản đồ>> thu thập = userList.stream().filter(Objects::nonNull) .collect(Collectors.groupingBy(User::getAge, Collectors.groupingBy(User::getMoney, Collectors.mapping(User::getId, Collectors.toList())) ) )); System.out.println(JSONUtil.toJsonStr(collect));
Kết quả đầu ra:
Ai đó có thể giải thích cho tôi ý nghĩa của tuyên bố này trong C++ không? Tôi chưa bao giờ thấy một tuyên bố như thế này và tôi chỉ bối rối không biết ý nghĩa và ý nghĩa của nó: int ix((dx > 0) - (dx > 1));
Tôi có một cơ sở dữ liệu mysql với các từ. Tôi sử dụng câu lệnh while để in tất cả các từ. Vì vậy, tôi nghĩ: rau diếp khoai tây cà chua mọi thứ đều ổn nhưng tôi muốn sắp xếp các từ theo độ dài. Tôi đã thử: if(strlen($go['words']) =
Phương pháp truyền tải đường dẫn trung thực của tôi không còn hoạt động nữa - nó coi các khoảng trắng là dấu phân cách. Đã được một thời gian kể từ khi tôi thực hiện lập trình hàng loạt. Khi sử dụng vòng lặp FOR, dấu phân cách duy nhất được phép là tùy chọn FOR/F. Tôi không muốn tạo một tệp tạm thời chứa đường dẫn, tôi muốn làm một cái gì đó như: C:
Tạo một bảng mới: ? 1
Tôi có một số tệp văn bản có khối nhiều dòng, ví dụ 2011/01/01 13:13:13,, Some Some Text,=, [ some text [
Tôi muốn có sự tách biệt rõ ràng giữa các phần khác nhau của tệp trong Vim: Tôi muốn điền một dòng bằng # và sau đó viết tiêu đề của tôi vào giữa: ############### # ############### Tiêu đề căn giữa############
Làm cách nào để thoát "*" sang "\*" trong clojure? Dường như không thể làm cho nó hoạt động: (s/thay thế "A*B" #"*" "*") tạo ra "A*B" (tất nhiên) (s/thay thế "A*B" #"*" "\*
Tuần này tôi đã cố gắng làm quen nhiều hơn với C. Tôi đã đọc C Primer Plus (Phiên bản thứ 5) nhưng tôi vẫn gặp một số vấn đề với các biến và con trỏ. Đây là đoạn script tôi đã sử dụng để kiểm tra: int main (int arg
Sự khác biệt giữa việc khởi tạo Danh sách trong Dart là gì? Sử dụng toán tử mới và khởi tạo nó bằng chữ? Trường hợp 1: Danh sách args = Danh sách mới (2); args[0] = 1;
Tôi có một vectơ ký tự trông như thế này: "Internet" "Internet" "-1" "-5" "Internet" "Internet" Tôi muốn thay thế tất cả các giá trị số âm (-1, -5, v.v.
Tôi có khung dữ liệu được gọi là gen như bên dưới ABCDE 1 NA 4.35 35.3 3.36 4.8
Tôi có một vectơ ký tự trông như thế này: "Internet" "Internet" "-1" "-5" "Internet" "Internet" Tôi muốn thay thế tất cả các giá trị số âm (-1, -5, v.v.
Tôi đang tự hỏi tại sao các biến trong CMake thường được đặt trong ký hiệu đô la và dấu ngoặc nhọn. Ví dụ: tôi thấy lệnh gọi này trong hướng dẫn CMake .include_directories(${PROJECT_BINAR
Tôi đang cố gắng làm một cái gì đó như thế này $this->db->count_all("grant_money")->where('id',5); Nếu có cách nào khác để làm điều này xin vui lòng cho tôi biết. Cảm ơn bạn, tôi đã tưởng tượng nó ở trên
Tại sao điều này hoạt động: int a = 5; int *aPtr = &a; printf("%i", *aPtr); Nhưng nó không: int aPtr = &a;
Giả sử tôi có một chuỗi ngày ở định dạng "23.11.13" và tôi muốn thay thế mỗi dấu chấm bằng dấu "/" để nó trông giống như "23/11/13". Đây là mã của tôi nhưng nó không hoạt động vì biểu thức chính quy nhìn thấy "." và hiểu nó khớp với mọi ký tự thay vì mới
Làm cách nào để in * tại ký tự nhập trên bàn phím? Ví dụ: Nếu tôi gõ :mouli trong bảng điều khiển thì nó sẽ thay thế m bằng *, sau đó thay thế o bằng *, v.v. Câu trả lời hay nhất Không có cách nào giải quyết vấn đề này bằng API tiêu chuẩn. Nếu đây thực sự là một yêu cầu rõ ràng
Gần đây tôi đã bắt đầu học Javascript và trong khi thực hiện một số thử nghiệm với mã, tôi bị kẹt ở mã này: var k = { ab: "hi", func: function() { cons
Tôi cần thay thế các bản sao trong cột đầu tiên bằng "." Ví dụ: name1 name1 name1 name2 name2 name3 name3 Tôi cần xuất ra: name1 .
Tôi có hai bảng sau đây về giáo dục và công việc, mỗi bảng có trường dấu thời gian. Trong câu lệnh tiếp theo, tôi muốn chọn và xác định dấu thời gian nào trong hai dấu thời gian được lưu trong hai bảng là mới nhất. Tôi đã thử những cách sau nhưng không hài lòng;
Tôi là một lập trình viên xuất sắc, rất giỏi!