<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## List求最大值、最小值、平均值、求和、中位數、屬性排序、去重 ``` import org.junit.Test; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; import static java.util.Comparator.comparingLong; import static java.util.stream.Collectors.*; /** * @Author: * @Date: 2018/12/12 13:08 * @Description: */ public class test { public static void main(String[] args) { List<User> list = new ArrayList<>(); list.add(new User(21L, "張三")); list.add(new User(25L, "李四")); list.add(new User(22L, "王五")); list.add(new User(19L, "趙柳")); list.add(new User(32L, "王5")); list.add(new User(29L, "王6")); list.add(new User(21L, "王7")); // 對象根據年齡屬性升序排序 List<User> newList = list.stream().sorted(Comparator.comparing(User::getAge)).collect(toList()); // 對象根據年齡屬性降序排序 List<User> newList = list.stream().sorted(Comparator.comparing(User::getAge).reversed()).collect(toList()); // 標識升序,再按創建日期降序 // List<BhAnnouncement> newList = announcementList.stream().sorted(Comparator.comparing(BhAnnouncement::getReadFlag).thenComparing(BhAnnouncement::getSendTime).reversed()).collect(toList()); // list遍歷 newList.forEach(System.out::println); // 平均數 double asDouble = list.stream().mapToLong(User::getAge).average().getAsDouble(); System.out.println("average:" + asDouble); double avg = list.stream().collect(Collectors.averagingLong(User::getAge)); System.out.println("average:" + avg); // 最大值 long asLong = list.stream().mapToLong(User::getAge).max().getAsLong(); System.out.println("max:" + asLong); // 最小值 long asLong1 = list.stream().mapToLong(User::getAge).min().getAsLong(); System.out.println("min:" + asLong1); // 求和 long sum1 = list.stream().mapToLong(User::getAge).sum(); System.out.println("sum:" + sum1); // 提取對象屬性生成list List<Long> ids = list.stream().map(User::getAge).collect(toList()); System.out.println(ids); // list升序排序 Collections.sort(ids); System.out.println(ids); // 生成中位數 Long j; if (ids.size() % 2 == 0) { j = (ids.get(ids.size() / 2 - 1) + ids.get(ids.size() / 2)) / 2; System.out.println("中位數為" + j); } else { j = ids.get(ids.size() / 2); System.out.println("中位數為" + j); } // list倒序排序 ids.sort(Comparator.reverseOrder()); System.out.println(ids); // 去重 List<User> users = list.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(comparingLong(User::getAge))), ArrayList::new)); System.out.println("去重:"+users); /** * List -> Map * 需要注意的是:toMap 如果集合對象有重復的key,會報錯Duplicate key .... * apple1,apple12的id都為1。可以用 (k1,k2)->k1 來設置,如果有重復的key,則保留key1,舍棄key2 */ Map<Long, User> userMap = list.stream().collect(Collectors.toMap(User::getAge, a -> a, (k1, k2) -> k1)); System.out.println(userMap); //過濾出符合條件的數據 List<User> filterList = list.stream().filter(a -> a.getName().equals("李四")).collect(toList()); System.out.println("filterList:" + filterList); List<Integer> list2 = Arrays.asList(1, 2, 3, 4, 5); int sum = list2.stream().reduce(0, (acc, value) -> acc + value); System.out.println(sum); List<Integer> result = list2.stream().filter((value) -> value > 2).collect(toList()); result.forEach(System.out::println); List<String> result2 = list2.stream().map(value -> String.format("String:%s", value)).collect(toList()); result2.forEach(System.out::println); // 用于收集統計數據的狀態對象,例如count,min,max,sum和平均。 IntSummaryStatistics stats = list2.stream().mapToInt((x) -> x).summaryStatistics(); System.out.println("Max : " + stats.getMax()); System.out.println("Min: " + stats.getMin()); System.out.println("Sun: " + stats.getSum()); System.out.println("Average : " + stats.getAverage()); System.out.println("Count : " + stats.getCount()); System.out.println("toString : " + stats.toString()); } } class User { private Long age; private String name; public User(Long i, String s) { this.age = i; this.name = s; } public Long getAge() { return age; } public void setAge(Long age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "User [age=" + age + ", name=" + name + "]"; } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看