对集合集合排序CompareTo(),sort()与查找

来源:互联网 发布:学做淘宝店视频教程 编辑:程序博客网 时间:2024/05/29 07:48

类要实现Comparable接口.

//商品类
public class Goods implements Comparable{

private int id;//商品编号private String name;//商品名字private double price;//商品单价private int sales;//商品销量private int store;//商品库存//省略setter/gerter方法public Goods(){}public Goods(int id, String name, double price, int sales,int store) {    this.id = id;    this.name = name;    this.price = price;    this.sales = sales;    this.store = store;}public Goods(int sales){    this.sales = sales;}@Overridepublic int compareTo(Goods goods) {    if(this.sales == goods.sales)        return 0;    else if(this.sales > goods.sales)        return 1;    else        return -1;}

/***********************************************/
//测试类
import java.util.ArrayList;
import java.util.Collections;

public class Test {

public static void main(String[] args) {    //初始化商品对象    Goods g1 = new Goods(10001,"康师傅泡面",4,45,255);    Goods g2 = new Goods(10002,"绿箭口香糖",2,23,177);    Goods g3 = new Goods(10003,"哇哈哈红茶",3.5,62,138);    //创建集合对象    ArrayList<Goods> list = new ArrayList<Goods>();    //添加元素    list.add(g1);    list.add(g2);    list.add(g3);           System.out.println("--------排序前--------");    System.out.println("编号\t商品名称\t\t价格\t销量\t库存");    for (Goods goods : list) {        System.out.println(goods.getId()+"\t"+goods.getName()+"\t\t"+goods.getPrice()+"\t"+goods.getSales()+"\t"+goods.getStore());    }               //使用Collections类的sort()方法对List集合进行排序    System.out.println("--------排序后--------");    Collections.sort(list);    System.out.println("编号\t商品名称\t\t价格\t销量\t库存");    for (Goods goods : list) {        System.out.println(goods.getId()+"\t"+goods.getName()+"\t\t"+goods.getPrice()+"\t"+goods.getSales()+"\t"+goods.getStore());    }       //使用Collections类的binarySearch()方法对List集合进行查找    int index = Collections.binarySearch(list, g3);    System.out.println("g5的索引是:"+index);}

}


0 0
原创粉丝点击