架构(三层架构)、框架(MVC)、设计模式三者异同点

架构(三层架构)、框架(MVC)、设计模式三者异同点,第1张

对于没有排序功能的集合来说,都可以使用java.util.Collections.sort()方法进行排序,它除了集合对象以外,还需要提供一个比较器。如果列表中的元素全部都是相同的类型,并且这个类实现了Comparable接口,就可以简单的调用Collections.sort()方法,如果这个类没有实现comparable接口,那么可以创建一个比较器传递一个Comparator实例作为Sort()的第二个参数进行排序,另外,如果不想使用默认的分类顺序进行排序,同样也可以传递一个Comparator实例作为参数来进行排序。package Bible001; import java.util.*; //类通过实现comparable接口进行排序和利用创建比较器进行排序。 public class SortTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub List<Student> list=new ArrayList<Student>(); list.add(new Student("stu001",21)); list.add(new Student("stu003",29)); list.add(new Student("stu002",25)); list.add(new Student("stu004",23)); System.out.println("--------原始顺序---------"); for(Iterator<Student> it=list.iterator();it.hasNext();) System.out.println(it.next().toString()); System.out.println("---------默认排列---------"); Collections.sort(list); for(Iterator<Student> it=list.iterator();it.hasNext();) System.out.println(it.next().toString()); System.out.println("---------降序排列-----"); Comparator<Student> comp=Collections.reverseOrder(); Collections.sort(list,comp); for(Iterator<Student> it=list.iterator();it.hasNext();) System.out.println(it.next().toString()); System.out.println("---------名字排序----------"); Collections.sort(list,new Comparator<Student>(){ @Override public int compare(Student s1, Student s2) { // TODO Auto-generated method stub return s1.getName().compareTo(s2.getName()); } }); for(Iterator<Student> it=list.iterator();it.hasNext();) System.out.println(it.next().toString()); } } class Student implements Comparable<Student>{ private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } private int age; public Student(String name,int age){ this.name=name; this.age=age; } @Override public int compareTo(Student stu) { // TODO Auto-generated method stub if(this.age>stu.age) return 1; else if(this.age<stu.age) return -1; else return 0; } public String toString(){ return name+‘_‘+age; } }

输出:

--------原始顺序--------- stu001_21 stu003_29 stu002_25 stu004_23 ---------默认排列--------- stu001_21 stu004_23 stu002_25 stu003_29 ---------降序排列----- stu003_29 stu002_25 stu004_23 stu001_21 ---------名字排序---------- stu001_21 stu002_25 stu003_29 stu004_23

架构(三层架构)、框架(MVC)、设计模式三者异同点,布布扣,bubuko.com

架构(三层架构)、框架(MVC)、设计模式三者异同点

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/1006913.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存