首页 > 代码库 > LinkedList 实现排序

LinkedList 实现排序

 1 import java.util.Collections; 2 import java.util.Comparator; 3 import java.util.LinkedList; 4  5 class Person{ 6     private float height; 7     private String name; 8      9     Person(float height)10     {11         this.height=height;12     }13 14     public float getHeight() {15         return height;16     }17 18     public void setHeight(float height) {19         this.height = height;20     }21 22     public String getName() {23         return name;24     }25 26     public void setName(String name) {27         this.name = name;28     }29 }30 31 class PersonHeight implements Comparator<Person>{32      33     @Override34     public int compare(Person e1, Person e2) {35         if(e1.getHeight() < e2.getHeight()){36             return 1;37         } else {38             return -1;39         }40     }41 }42 43 44 public class Question3 {45 46     public static void main(String[] args) {47         Person p1=new Person(23.4f);48         p1.setName("Stud1");49         Person p2=new Person(2.34f);50         p2.setName("Stud2");51         Person p3=new Person(34.32f);52         p3.setName("Stud3");53         Person p4=new Person(56.45f);54         p4.setName("Stud4");55         Person p5=new Person(21.4f);56         p5.setName("Stud5");57              60         LinkedList<Person> al=new LinkedList<Person>();61         al.add(p1);62         al.add(p2);63         al.add(p3);64         al.add(p4);65         al.add(p5);66         67         68         69         Collections.sort(al,new PersonHeight());70         for(Person p:al)71             System.out.println(p.getName()+" "+p.getHeight());72 73     }74 75 }


Collections.sort(al,new PersonHeight());



结果:
Stud4 56.45
Stud3 34.32
Stud1 23.4
Atud5 21.4
Stud2 2.34



 1 package com.cn.aug26; 2  3  4 import java.util.Collections; 5 import java.util.LinkedList; 6 7  8 class Person1 implements Comparable <Person1>{ 9     private Float height;10     private String name;11     12     Person1(float height)13     {14         this.height=height;15     }16 17     public Float getHeight() {18         return height;19     }20 21     public void setHeight(float height) {22         this.height = height;23     }24 25     public String getName() {26         return name;27     }28 29     public void setName(String name) {30         this.name = name;31     }32 33     @Override34     public int compareTo(Person1 p) {35         if(this.getHeight()<p.getHeight()){36             return 1;37             38         }else if(this.getHeight()>p.getHeight()){39             return -1;40         }else{41             return 0;    42         }43         44     }45 }46 47 48 public class Question3_1 {49 50     public static void main(String[] args) {51         Person1 p1=new Person1(23.4f);52         p1.setName("Stud1");53         Person1 p2=new Person1(2.34f);54         p2.setName("Stud2");55         Person1 p3=new Person1(34.32f);56         p3.setName("Stud3");57         Person1 p4=new Person1(56.45f);58         p4.setName("Stud4");59         Person1 p5=new Person1(21.4f);60         p5.setName("Stud5");61         62         LinkedList<Person1> al=new LinkedList<Person1>();63        64         al.add(p1);65         al.add(p2);66         al.add(p3);67         al.add(p4);68         al.add(p5);69         70         Collections.sort(al);//降序71        72         for(Person1 p:al)73             System.out.println(p.getName()+" "+p.getHeight());74 75     }76 77 }
结果:
Stud4 56.45
Stud3 34.32
Stud1 23.4
Stud5 21.4
Stud2 2.34


 Collections.sort(al,Collections.reverseOrder());//升序

结果:
Stud2 2.34
Stud5 21.4
Stud1 23.4
Stud3 34.32
Stud4 56.45

 

 

LinkedList 实现排序