Java 关于List 的排序

来源:互联网 发布:流程图中的数据库 编辑:程序博客网 时间:2024/04/30 06:38

对于数据长度不定 又需要数据按照一定的规律输出的可以参考如下代码

基本思路

  1. 利用集合的API 来做 本文方案。
    2.全靠将list 转换成对应长度的数组进行排序。

本文按照第一种思路完成代码

package test;import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.Iterator;import java.util.List;public class ListTest {    static class Car implements Comparable<Car>    {      String carStr;      String carNum;      String carinfos;      int    intCarNum;      public Car(String carinfo)      {        int start = carinfo.indexOf("(");        carNum = carinfo.substring(0, start);        intCarNum = Integer.parseInt(carNum);        carinfos =  carinfo.substring(start, carinfo.length());        carStr = carinfo;      }    @Override    /*这个是主要的方法 根据自己的需求进行修改*/    public int compareTo(Car car) {        if(intCarNum > car.intCarNum)        {            return 1;        }        if(intCarNum < car.intCarNum)        {            return -1;        }        return 0;    }    }    public static void main(String[] args)     {        List<Car> carinfos = new ArrayList<Car>();        Car car1 = new Car("105(AD,0)");        Car car2 = new Car("101(AB,0)");        Car car3 = new Car("102(DE,1,3,AB)");        carinfos.add(car1);        carinfos.add(car2);        carinfos.add(car3);        Collections.sort(carinfos);        Iterator<Car> it = carinfos.iterator();        while(it.hasNext())        {            Car car = it.next();            System.out.println(car.carStr);        }    }}

注释掉排序后的结果如下
这里写图片描述

正常的效果如下
这里写图片描述

原创粉丝点击