Java集合中Comparable和Comparator辨析(2)

package com.collection;
 
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;
 
public class ListSortWithComparator

    publicstatic void main(String[] args)
    {
      /*
        * 使用comparator进行排序的第一种方法,
        * 定义一个实现Comparator接口的类,并重载compara方法,设定比较规则
        * 利用Collection.sort(list,comparator)方法实现排序,
        * Collection.sort(list,comparator)方法的第一个参数为List类型,因此要排序的元素需要放在List集合中
        */
      List<People>list = new ArrayList<>();
      list.add(newPeople("zhuwei",26));
      list.add(newPeople("yinyuchun",25));
      list.add(newPeople("xiaobai",26));
 
      MComparatorcomparator = new MComparator();
     
      Collections.sort(list,comparator);
     
      for(Peoplep:list)
      {
          System.out.println(p.toString());
      }
     
     
      /*
        * 使用comparator进行排序的第二种方法,
        * 该方法不需要People实现Comparator接口
        * 直接Comparator对象传递给TreeSet的构造器,
        * 并重载Comparator类的compara方法,指定排序规则
        */
//    SortedSet<People>set = new TreeSet<>(
//            newComparator<People>()
//            {
//
//                //重载Comparator类的compara方法,设定比较规则:按名字降序排列
//                @Override
//                publicint compare(People people1, People people2)
//                {
//                  //TODO Auto-generated method stub
//                  if(people1.getName().compareTo(people2.getName())>0)
//                  {
//                      return-1;
//                  }
//                  else
//                  {
//                      return1;
//                  }
//                 
//                }
//             
//            }
//            );
//    set.addAll(list);
//    System.out.println("输出按降序排列的结果:");
//    for(Peoplep: set)
//    {
//        System.out.println(p.toString());
//    }
    }
 
}

Java中介者设计模式

Java 设计模式之模板方法开发中应用

设计模式之 Java 中的单例模式(Singleton)

Java对象序列化

大话设计模式(带目录完整版) PDF+源代码

Java中的函数传递

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/c5822ee68144a824c29990c3620addbb.html