Java8収集とソート重複除外

再ソートへのJava 8と

 

ソート方法

一覧<整数>リスト=は、Arrays.asList(1,1,2,3- )。


  // 升序
lists.sort(Comparator.comparing(整数:: intValue)); 

  // 降序
lists.sort(Comparator.comparing(整数:: intValue).reversed()); 


或者

// 升序
  lists.stream()ソート()コレクト(Collectors.toList())。。。
   
// 降序     
。。lists.streamは、()(Comparator.reverseOrder())コレクト(Collectors.toList())ソート。

 

 

 

 

輸入 java.utilの。* ;
輸入java.util.stream.Collectors。

パブリック クラスメイン{
     公共 静的 ボイドメイン(文字列[]引数){ 
        リスト <整数> =リストは、Arrays.asList(1,1,2,3- )。
        一覧 <整数>コレクト= distinctFiled(リスト); 
        System.out.println(コレクト)。
        System.out.println(sortFiled(リスト)); 
        リスト <ユーザー>ユーザー= は、Arrays.asList(
           新しいユーザ(1、 "小王"、 "男" )、
           新しいユーザー(2、 "小李"、 "男" )、
           新しいユーザー(3、」)、
           新しいユーザー(2、 "小三"、 "男" ))。
        一覧 <ユーザー> USERLIST = distinctObjectFiled(ユーザー); 
        System.out.println(ユーザーリスト)。
        System.out.println(sortObjectFiled(ユーザ)); 
    } 

    / ** 
     *根据用户的性别去重
     * @param ユーザー
     * @return 
     * / 
    プライベート 静的の一覧<ユーザー> distinctObjectFiled(一覧<ユーザー> ユーザー){ 

        リターンusers.stream()。コレクト(
                Collectors.collectingAndThen(コレクター。 toCollection( 
                        () - > 新しいですTreeSetの<>(Comparator.comparing(ユーザー:: getSex)))、ArrayListの:: 
        ); 


    } 
    / ** 
     *根据用户ID排序
     * @paramのユーザー
     * @return 
     * / 
    プライベート 静的リスト<ユーザ> sortObjectFiled(一覧<ユーザ> ユーザ){ 
        users.sort(Comparator.comparing(ユーザー::のgetId))。
        リターンユーザー; 


    } 

    / ** 
     *去除重复的属性
     * @paramのリスト
     * @return 
     * / 
    プライベート 静的の一覧<整数> distinctFiled(一覧<整数> リスト){
         リターンlists.stream()別個の()を収集(Collectors.toList())。
    } 
      / ** 
     *排序
     * @paramのリスト
     * @return 
     * / 
    プライベート 静的リスト<整数> sortFiled(一覧<整数> リスト){ 
         lists.sort(Comparator.comparing(整数:: intValue)); 
         戻り値のリスト。
    } 





}

モデル

パブリック クラスユーザー{ 

    プライベート整数ID。

    プライベート文字列名; 

    プライベート文字列のセックス。

    パブリックユーザー(){ 
    } 

    パブリック整数のgetId(){
         戻りID。
    } 

    公共 ボイドSETID(整数ID){
         この .ID = ID。
    } 

    パブリックユーザ(整数ID、文字列名、文字列性別){
         この .ID = ID。
        この .nameの= 名前;
        この .sex = セックス。
    } 

    パブリック文字列のgetName(){
        リターン名。
    } 

    公共 ボイドのsetName(文字列名){
         この .nameの= 名前。
    } 

    パブリック文字列getSex(){
         戻り性別; 
    } 

    @Override 
    パブリック文字列のtoString(){
         戻り "ユーザー{" + 
                "ID =" + ID + 
                "NAME = '" +名+ '\'' + 
                "性別= '" +性別+ '\'' + 
                「}」
    } 

    公共 ボイドsetSex(文字列性別){
         この .sex = セックス。

 

おすすめ

転載: www.cnblogs.com/munan56/p/11963992.html