import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Book implements Comparable{
/*编写一个类Book,具有name,price,press,author属性.然后创建5个对象放入ArrayList中,并实现按照price大小排序(使用Comparable接口排序),
然后遍历ArrayList输出每个Book对象。*/
private String name;
private float price;
private String press;
private String author;
//构造方法
public Book(String name,float price,String press,String author){
this.name = name;
this.price = price;
this.press = press;
this.author = author;
System.out.println(name.toString());
}
@SuppressWarnings("unchecked")
public static void main(String[] args){
List<Book> list = new ArrayList<Book>();
Book b1=new Book("java1",25f,"不错的书","LY1");
Book b2=new Book("java2",26f,"不错的书","LY2");
Book b3=new Book("java3",50f,"不错的书","LY3");
Book b4=new Book("java4",20f,"不错的书","LY4");
Book b5=new Book("java5",15f,"不错的书","LY5");
list.add(b1);
list.add(b2);
list.add(b3);
list.add(b4);
list.add(b5);
Collections.sort(list);
for(int i=0;i<list.size();i++){
Book book = (Book)list.get(i);
System.out.println(book);
}
}
//重写
public int compareTo(Object obj) {
Book p = (Book)obj;
if(p.price>this.price){
return 1;
}
else if(p.price<this.price){
return -1;
}
else{
return 0;
}
}
//重写toString方法
public String toString(){//这上是重写了本类的toString方法,对系统自带的其它字段的toString方法无效
return "书名:"+this.name+", 价格:"+this.price+", 说明:"+this.press+", 作者: "+this.author;
}
}
//.sort(List)方法,当然还可能使用java.util.Arrays.sort(数组),那样就必须把//list转化为数组,由于本例使用Collections.sort(List)已经足够,另一方法,大家可//以尝试自已使用.
分享到:
相关推荐
主要介绍了java 实现Comparable接口排序,升序、降序、倒叙,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
java通过Comparable接口实现字符串比较大小排序的简单实例
下面小编就为大家带来一篇java中实现Comparable接口实现自定义排序的示例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
1.什么是Comparable接口 此接口强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序 ,类的 compareTo 方法被称为它的自然比较方法 。实现此接口的对象列表(和数组)可以通过 Collections.sort ...
实现了Comparable接口的类的对象的列表或数组可以通过Collections.sort或Arrays.sort进行自动排序。 此外,实现此接口的对象可以用作有序映射中的键或有序集合中的集合,无需指定比较器。 此 接口只有一个方法...
当且仅当要使用的对象实现Comparable接口时,我们也可以创建不带Comparator对象的SortedList。 用法 我们将像创建Java中的任何ArrayList一样创建SortedList: SortedList sortedlist = new SortedList(comparator); ...
传统的方法我们需要先把验证质数的方法写好,然后再去将输入的偶数进行拆分,调用函数进行验证,这需要你先将实现的方法去写好。 而当你有了接口,里面定义了一个抽象的的方法,工具可以先调用我这个抽象的方法,我...
如果是自然排序,需要元素实现Comparable接口,重写compareTo方法 如果是定制排序,需要创建TreeSet对象的时候,传入一个Comparetor接口实现类对象,重写compare方法 一般是默认排序用自然排序(Comparable接口)...
在 java 中,要实现类的大小比较可以实现 Comparable 接口并通 过重写 compareTo 方法来实现。 在 Mapreduce 中,如果需要自定义类的排序规则,需要让类实现 Writable 的子接口 WritableComparable,重写里面的 ...
在Java中只要实现Comparable接口就可以了.但是在Lucene中要实现SortComparatorSource接口和ScoreDocComparator接口.在了解具体实现方法之前先来看看这两个接口的定义吧. SortComparatorSource接口的功能是返回一个...
ArraySort java数组排序的两种方法:实现Comparator接口,重写compare方法 2实现Comparable接口
2,定义类实现Comparable接口,方便排序 3,自定义控件QuickIndexBar继承view(重点) 4,使用接口回调,暴露给外部使用 实现步骤: 1,设置布局 2,使用pinyin4j-2.5.0.jar库,定义把汉字转化为拼音的方法, 3,...
实现Comparable接口或Comparator接口,用户可以根据需要对集合中的元素进行排序。为了方便用户使用,Java平台还提供了Collections和Arrays工具类。collection.rar分别对上述内容进行详细讲解演示。
1. ==、equals、compareTo的关系 3. Comparable接口自然排序 4. comparator定制排序 5. 重写equals方法的标准
Comparable是在集合内部定义的方法实现的排序,而Comparator是在集合外部实现的排序,如果想实现排序,就需要在集合外定义Comparator接口的方法或在集合内实现Comparable接口的方法。 这里是一个简单的...
用Java的Comparable接口与Comparator接口分别实现类的比较排序~~
Comparable是在集合内部定义的方法实现的排序,而Comparator是在集合外部实现的排序,如果想实现排序,就需要在集合外定义Comparator接口的方法或在集合内实现Comparable接口的方法。 这里是一个简单的...
这种是最简单的一种排序方法,只需要实现他的Comparable 接口及实现public int compareTo(Object arg0)方法即可。 2.Collection.srot(List arg0,Comparator arg1); 这种加入了比较器,具有更大的灵活性,便于管理,...
它的任务是订购对象的数组,这些对象的类实现Comparable接口。 该方法必须返回该数组的副本,而原始数组必须保持完整。 给出一些对不同对象进行排序的示例。 测试String,StringBuffer和StringBuilder串联方法的...
java提供了一个Comparable接口,该接口里定义了一个compareTo(Objectobj)方法,该方法返回一个整数值,实现该接口的类必须实现该方法,实现了该接口的类的对象就可以比较大小。当一个对象调用该方法与另一个对象进行...