lambda - java8 オブジェクトをオブジェクト内の特定のフィールドの順序で配置します
欧阳克
欧阳克 2017-06-23 09:13:33
0
3
948

たとえば、次のような属性を持つクラス User
が必要です。private int age、private String name
いくつかのオブジェクトがあります

リーリー

今度は年齢の昇順にソートしたい、つまりlisrの最終的な表示結果が user1 user3 user2
java8のラムダ式を使ってどのように書くのでしょうか?

これは user に似たクラスで、内部の count 値を比較することで機能を実現できますが、括弧内のコードが灰色なのはなぜでしょうか。
マウスを上に移動します。 ReportComparator.comparingInt で置き換えることができます... (Ctrl F1)

欧阳克
欧阳克

温故而知新,可以为师矣。 博客:www.ouyangke.com

全員に返信 (3)
三叔

上の階のものはフレンドリーではありません。次のメソッドは、古い命令型ではなく、より宣言的です。 リーリー

このように読みやすくなりませんか?

をベースにコンパレーターを作成しました。降順が必要な場合は、それを逆にしてください。 リーリーUserage属性进行个排序,属性是int就按照int排序,其实Comparator.comparing(User::getAge)とても快適です…笑

いいねを押す+0
    ringa_lee

    Arrays.sort(list, (user1 , user2) -> Integer.compare(v1.age, v2.age));

    いいねを押す+0
      typecho

      私の意見では、Comparable インターフェースを実装してから、sort を直接呼び出す必要があります

      いいねを押す+0
        最新のダウンロード
        詳細>
        ウェブエフェクト
        公式サイト
        サイト素材
        フロントエンドテンプレート
        私たちについて 免責事項 Sitemap
        PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!