昨天遇到要用下拉框显示地区列表,当时做出来后发现选项太多,选择某个地区很难找到,我就想到应该对这个做一个排序。现在记下,仅用作自己复习和菜鸟参考之用,有问题请留言。

    这个List中存放的是一个对象Area--包含有很多属性,中国人比较习惯的索引方式是按拼音索引。正好Area有一个属性为code存放的就是拼音。

List<Area> areas=areaService.getAllArea();
Collections.sort(areas, new Comparator<Area>() {
            public int compare(Area arg0, Area arg1) {
                String code0 = arg0.getCode();
                String code2 = arg1.getCode();
               return code00.compareTo(code1);
            }
        });

    对象排序其实就是要规定它的比较规则,总的来说就是:用什么来做比较,怎么比较。

    最后页面显示就是按地区的拼音排序的。但是今天我发现有些并没有按预想的那样排序,刚刚查看了一下,最后发现是数据库中存的code数据的问题。