/* 让SortedSet集合做到排序还有另一种方式:java.util.Comparator; 单独编写一个比较器. */ import java.util.*; public class SortedSetTest03{ public static void main(String[] args){ //创建TreeSet集合的时候提供一个比较器. //SortedSet products = new TreeSet(new ProductComparator()); //匿名内部类:不推荐使用,因为比较器无法得到重复利用。 SortedSet products = new TreeSet(new Comparator(){ //需求:按照商品价格排序 public int compare(Object o1, Object o2){ double price1 = ((Product)o1).price; double price2 = ((Product)o2).price; if(price1==price2){ return 0; }else if(price1>price2){ return 1; }else{ return -1; } } }); Product p1 = new Product(3.4); Product p2 = new Product(4.0); Product p3 = new Product(3.0); Product p4 = new Product(2.0); Product p5 = new Product(5.0); //添加元素 products.add(p1); products.add(p2); products.add(p3); products.add(p4); products.add(p5); //遍历 Iterator it = products.iterator(); while(it.hasNext()){ System.out.println(it.next()); } } } class Product{ double price; Product(double price){ this.price = price; } public String toString(){ return price + ""; } } //单独编写一个比较器 /* class ProductComparator implements Comparator{ //需求:按照商品价格排序 public int compare(Object o1, Object o2){ double price1 = ((Product)o1).price; double price2 = ((Product)o2).price; if(price1==price2){ return 0; }else if(price1>price2){ return 1; }else{ return -1; } } } */
编写比较器 comparator
原创
©著作权归作者所有:来自51CTO博客作者航天嘎子的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:java中的sortset集合
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【JavaSE】比较器、深拷贝浅拷贝
比较器、深拷贝浅拷贝
System 深拷贝 浅拷贝 -
Java中比较器Comparator的使用
Java中比较器Comparator的使用
java intellij-idea 开发语言 算法 后端 -
comparable和comparator比较
今天在翻阅TreeMap的源码,发现其键必须是实现Comparable或者Comparator的接口时产生了一些兴趣,比如在Tree
java Comparator Comparable ide List -
Comparator和Comparable比较
个对象collection进行整体排序的比较...
User java 有序映射