java 一個List根據某個字段進行排序

public static void main(String[] args) {

		List<MyLjyyxRjdjhb> findList = new ArrayList<MyLjyyxRjdjhb>();
		MyLjyyxRjdjhb a1 = new MyLjyyxRjdjhb();
		a1.setNum(12);
		a1.setBh("LR40025");
		findList.add(a1);
		MyLjyyxRjdjhb a2 = new MyLjyyxRjdjhb();
		a2.setNum(11);
		a2.setBh("LR50028");
		findList.add(a2);
		MyLjyyxRjdjhb a3 = new MyLjyyxRjdjhb();
		a3.setNum(25);
		a3.setBh("LR30025");
		findList.add(a3);
		MyLjyyxRjdjhb a4 = new MyLjyyxRjdjhb();
		a4.setNum(12);
		a4.setBh("LR80665");
		findList.add(a4);
		MyLjyyxRjdjhb a5 = new MyLjyyxRjdjhb();
		a5.setNum(12);
		a5.setBh("LR20025");
		findList.add(a5);
		System.out.println("----------------排序前----------------------");
		for(int i=0;i<findList.size();i++) {
			System.out.println(findList.get(i).getNum()+" | "+findList.get(i).getBh());
		}
		
		Collections.sort(findList, new Comparator<MyLjyyxRjdjhb>() {
            @Override
            public int compare(MyLjyyxRjdjhb o1, MyLjyyxRjdjhb o2) {
            	//按num排序(int類型)
            	int flag=o1.getNum()-o2.getNum(); //這是升降(下面同理)
            	//按bh排序(String類型)
        		if(flag==0) {
        			flag=(o1.getBh().toString()).compareTo(o2.getBh().toString());   
        		}
        		return flag;
            }
        });
		
		System.out.println("----------------排序後----------------------");
		for(int i=0;i<findList.size();i++) {
			System.out.println(findList.get(i).getNum()+" | "+findList.get(i).getBh());
		}
		
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章