国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java ArrayList集合中的某個對象屬性進(jìn)行排序的實現(xiàn)代碼

2019-11-26 14:03:33
字體:
供稿:網(wǎng)友

開發(fā)中有時候需要自己封裝分頁排序時,List如何對某一屬性排序呢,分享一個小實例,大家共勉,希望能對大家有用,請多多指教。

1.Student的Bean如下:

public class Student {	private int age;		private String name;		private String weight;	public String getWeight() {		return weight;	}	public void setWeight(String weight) {		this.weight = weight;	}	public int getAge() {		return age;	}	public void setAge(int age) {		this.age = age;	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}}

2.按照List中對象的Int類型屬性進(jìn)行排序

 /** * 按照List中的某個Int類型的屬性進(jìn)行排序 * @param list */@SuppressWarnings("unchecked")public static void sortIntMethod(List list){  Collections.sort(list, new Comparator(){		@Override		public int compare(Object o1, Object o2) {			Student stu1=(Student)o1;			Student stu2=(Student)o2;			if(stu1.getAge()>stu2.getAge()){				return 1;			}else if(stu1.getAge()==stu2.getAge()){				return 0;			}else{				return -1;			}		}	  	  });  System.out.println("http://///////////排序之后///////////////");  for(int i=0;i<list.size();i++){  	Student st=(Student)list.get(i);  	System.out.println("st.age="+st.getAge()+",st.name="+st.getName());  }}

3.按照List中對象的String類型的屬性進(jìn)行排序

1)方法一:

 /** * 按照List中的某個String類型的屬性進(jìn)行排序 * @param list */@SuppressWarnings("unchecked")public static void sortStringMethod(List list){  Collections.sort(list, new Comparator(){		@Override		public int compare(Object o1, Object o2) {			Student stu1=(Student)o1;			Student stu2=(Student)o2;			return stu1.getName().compareTo(stu2.getName());		}	  	  });  System.out.println("http://///////////排序之后///////////////");  for(int i=0;i<list.size();i++){  	Student st=(Student)list.get(i);  	System.out.println("st.age="+st.getAge()+",st.name="+st.getName());  }}

2)方法二:
使用java.text.RuleBasedCollator來實現(xiàn),用來執(zhí)行區(qū)分語言環(huán)境的String 比較:

/**	 * 按照List中的某個String類型的屬性進(jìn)行排序	 * @param list	 */	@SuppressWarnings("unchecked")	public static void sortByRuleBasedCollator(List list){		Collections.sort(list, new Comparator(){			@Override			public int compare(Object o1, Object o2) {			  return ((java.text.RuleBasedCollator)java.text.Collator.getInstance(java.util.Locale.CHINA)).compare(((Student)o1).getName(), ((Student)o2).getName());			}				});		System.out.println("http://///////////排序之后///////////////");	  for(int i=0;i<list.size();i++){	  	Student st=(Student)list.get(i);	  	System.out.println("st.age="+st.getAge()+",st.name="+st.getName());	  }	}

4.測試排序的方法

    @SuppressWarnings("unchecked")public static void main(String[] args) {	ArrayList list=new ArrayList();	Student t1=new Student();	t1.setAge(35);	t1.setName("wanglei");	list.add(t1);		Student t2=new Student();	t2.setAge(4);	t2.setName("lisi");	list.add(t2);		Student t3=new Student();	t3.setAge(56);	t3.setName("zhonghua");	list.add(t3);		Student t4=new Student();	t4.setAge(39);	t4.setName("waanglei");	list.add(t4);	System.out.println("http://///////////排序之前///////////////");	for(int i=0;i<list.size();i++){  	Student st=(Student)list.get(i);  	System.out.println("st.age="+st.getAge()+",st.name="+st.getName());  }        //按照List中的某個Int類型的屬性進(jìn)行排序	sortIntMethod(list);	//按照List中的某個String類型的屬性進(jìn)行排序	sortStringMethod(list);	}

5.結(jié)果

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 中牟县| 石河子市| 新和县| 东明县| 遵化市| 特克斯县| 垣曲县| 临西县| 徐州市| 太湖县| 探索| 德化县| 玉林市| 平阴县| 普定县| 武汉市| 茂名市| 蓝山县| 景德镇市| 老河口市| 汉中市| 富平县| 孝昌县| 吐鲁番市| 丹东市| 方山县| 浠水县| 阜康市| 枞阳县| 温州市| 馆陶县| 商丘市| 会同县| 涿鹿县| 鹤岗市| 东城区| 通辽市| 博客| 无棣县| 乐亭县| 华安县|