根据List其中某个属性进行排序

来源:互联网 发布:苹果4s4g网络 编辑:程序博客网 时间:2024/04/30 02:21

根据List其中某个属性进行排序,注意list删除时会导致所在位置不存在,应该另存一个PdaPickDetailsBo ,便于操作。我就是挂在这边 - -。不够深入,专业名词说得不够准确。将就着看,入门时间不久只能慢慢沉淀。加油

public class PdaPickDetailsBo {     private String locBarcode;     private Long custId;     public String getLocBarcode() {        return locBarcode;     }     public void setLocBarcode(String locBarcode) {        this.locBarcode = locBarcode;     }     public Long getCustId() {        return custId;     }     public void setCustId(Long custId) {        this.custId= custId;     }}
public class demo{    public static void main(String[] args) {;        List<PdaPickDetailsBo> list = new ArrayList<PdaPickDetailsBo>();        PdaPickDetailsBo bos1 = new PdaPickDetailsBo();        bos1.setCustId(1l);        bos1.setLocBarcode("A14-01-03");        PdaPickDetailsBo bos2 = new PdaPickDetailsBo();        bos2.setCustId(2l);        bos2.setLocBarcode("A15-05-01");        PdaPickDetailsBo bos3 = new PdaPickDetailsBo();        bos3.setCustId(3l);        bos3.setLocBarcode("A14-01-01");        PdaPickDetailsBo bos4 = new PdaPickDetailsBo();        bos4.setCustId(4l);        bos4.setLocBarcode("A13-01-03");        PdaPickDetailsBo bos5 = new PdaPickDetailsBo();        bos5.setCustId(5l);        bos5.setLocBarcode("H15-05-01");        PdaPickDetailsBo bos6 = new PdaPickDetailsBo();        bos6.setCustId(6l);        bos6.setLocBarcode("C14-01-01");        list.add(bos1);        list.add(bos2);        list.add(bos3);        list.add(bos4);        list.add(bos5);        list.add(bos6);        for (int i = 0; i < list.size(); i++) {            System.out.print(list.get(i).getLocBarcode()+"\t"+"custId:"+list.get(i).getCustId()+"\t");        }        System.out.println("\n"+"---------------------->排序后");        strSort(list);        for (int i = 0; i < list.size(); i++) {            System.out.print(list.get(i).getLocBarcode()+"\t"+"custId:"+list.get(i).getCustId()+"\t");        }    }    /**     * 对字符串进行由小到大排序     * @param str   String[] 需要排序的字符串数组     */    public static void strSort(List<PdaPickDetailsBo> list){        for (int i = 0; i < list.size(); i++) {            for (int j = i+1; j < list.size(); j++) {                if(list.get(i).getLocBarcode().toString().compareTo(list.get(j).getLocBarcode().toString())>0){ //对象排序用camparTo方法                    swap(list,i,j);                }            }        }    }    /**     * 交换两个元素的位置的方法     * @param strSort   需要交换元素的数组        * @param i 索引i     * @param j 索引j     */    private static void swap(List<PdaPickDetailsBo> list, int i, int j) {        PdaPickDetailsBo bo = list.get(i);        PdaPickDetailsBo boj = list.get(j);        list.remove(i);        list.add(i,boj);        list.remove(j);        list.add(j,bo);    }}
0 0
原创粉丝点击