當前位置:首頁 » 編程語言 » javalist排序對象

javalist排序對象

發布時間: 2024-07-30 12:59:19

1. java裡面List排序

摘自:http://www.blogjava.net/zygcs/archive/2008/01/17/176032.html

//一個POJO例子

class User {
String name;
String age;

public User(String name,String age){
this.name=name;
this.age=age;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

//具體的比較類,實現Comparator介面

import java.util.Comparator;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;

public class ComparatorUser implements Comparator{
public int compare(Object arg0, Object arg1) {
User user0=(User)arg0;
User user1=(User)arg1;

//首先比較年齡,如果年齡相同,則比較名字

int flag=user0.getAge().compareTo(user1.getAge());
if(flag==0){
return user0.getName().compareTo(user1.getName());
}else{
return flag;
}
}

}

//測試類
public class SortTest {

public static void main(String[] args){
List userlist=new ArrayList();
userlist.add(new User("dd","4"));
userlist.add(new User("aa","1"));
userlist.add(new User("ee","5"));
userlist.add(new User("bb","2"));
userlist.add(new User("ff","5"));
userlist.add(new User("cc","3"));
userlist.add(new User("gg","6"));

ComparatorUser comparator=new ComparatorUser();
Collections.sort(userlist, comparator);

for (int i=0;i<userlist.size();i++){
User user_temp=(User)userlist.get(i);
System.out.println(user_temp.getAge()+","+user_temp.getName());
}

}
}

//首先年齡排序,如果年齡相同,則按名字排序

結果:
1, aa
2, bb
3, cc
4, dd
5, ee //注意:同樣是5歲的人,則比較名字(ee,ff),然後排序
5, ff
6, gg

2. java中兩個list集合如何排序

將兩個list合並
List<Article> list1 = new ArrayList<Article>();
List<Article> list2 = new ArrayList<Article>();
list1.addAll(list2);
Collections.sort(list,new ReverseSort());
//自定義反向排序比較器
class ReverseSort implements Comparator{
public int compare(Object obj1,Object obj2) {
Article user1 = (Article)obj1;
Article user2 = (Article)obj2;
return -user1.gxrq.compareTo(user2.gxrq);
}
}

3. java 怎麼將List裡面數據排序

學生實體類,包含姓名和年齡屬性,

比較時先按姓名升序排序,如果姓名相同則按年齡升序排序。

4. java List<T>排序

一、首先你的SpecialArticle類要實現 java.util.Comparator介面,在public int compare(Object o1, Object o2) 方法中對比兩個SpecialArticle的sort屬性的大小,第一個的大就返回1,第二個的大就返回-1,一樣大就返回0;二、然後使用java.util.Arrays的sort方法來替List集合排序:java.util.Arrays.sort(sa);。

5. Java的List怎麼排序啊

問題在於

doubletemp=0.0;

你把temp設置成double型,然後

temp=arr.get(l).doubleValue();

所以你把取得的int類型轉換成了double類型,最後輸出就帶上了.0


你仔細看看你的程序,int類型有的排序後沒有變,有的變x.0了,凡是加上.0的都是它在排序過程中與double類型的數字進行過交換。

6. java的list集合如何根據對象中的某個欄位排序

下面的代碼是根據學生年齡排序學生list 的一個例子:

importjava.util.ArrayList;
importjava.util.List;

classStudent{

privateStringname;

privateintage;

publicStudent(Stringname,intage){
this.name=name;
this.age=age;
}

publicStringgetName(){
returnname;
}

publicvoidsetName(Stringname){
this.name=name;
}

publicintgetAge(){
returnage;
}

publicvoidsetAge(intage){
this.age=age;
}

@Override
publicStringtoString(){
return"Perosn[name="+name+",age="+age+"]";
}
}

publicclassApp{

publicstaticvoidmain(String[]args){

List<Student>students=newArrayList<>();

students.add(newStudent("abc",12));
students.add(newStudent("bcd",20));
students.add(newStudent("cde",17));
students.add(newStudent("def",25));
students.add(newStudent("efg",15));

students.sort((x,y)->Integer.compare(x.getAge(),y.getAge()));

for(Studentstu:students){
System.out.println(stu);
}
}
}

運行結果:

熱點內容
推薦類的演算法 發布:2024-11-26 01:50:22 瀏覽:917
怎麼製作ftp軟體 發布:2024-11-26 01:45:41 瀏覽:567
演算法m是誰 發布:2024-11-26 01:40:35 瀏覽:44
h1z1文件夾安裝 發布:2024-11-26 01:40:28 瀏覽:23
電話加密 發布:2024-11-26 01:39:09 瀏覽:28
hotspot源碼 發布:2024-11-26 01:33:05 瀏覽:282
日本電報密碼是多少 發布:2024-11-26 01:33:00 瀏覽:441
雷電緩存目錄 發布:2024-11-26 01:30:05 瀏覽:951
androidcanvas縮放 發布:2024-11-26 01:21:36 瀏覽:239
微信商家掃我為什麼輸入密碼 發布:2024-11-26 01:20:40 瀏覽:661