根据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);
}
}