不知道 XML 里面能不能处理。不过,如果你已经把数据从 XML 中读取出来,存储为列表的话,可以参考下面的办法来排序。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;public class TestSort { public static void main(String[] args) {
// 测试的数据.
Book book1 = new Book("aa", 3);
Book book2 = new Book("bb", 5);
Book book3 = new Book("cc", 2);
Book book4 = new Book("ccc", 1);
// 构成List.
List bookList = new ArrayList();
bookList.add(book1);
bookList.add(book2);
bookList.add(book3);
bookList.add(book4);
// 转换成数组.
Object [] bookArray = bookList.toArray();
// 按照 name 排序.
Arrays.sort(bookArray, new BookNameComparator());
dumpArray(bookArray);
System.out.println("**********");
// 按照 num 排序.
Arrays.sort(bookArray, new BookNumComparator());
dumpArray(bookArray);
}
// 测试输出.
public static void dumpArray(Object [] bookArray) {
for(int i = 0; i < bookArray.length; i ++) {
System.out.println(bookArray[i]);
}
}}class Book {
public String name;
public int num;
public Book(String name, int num) {
this.name = name;
this.num = num;
}
public String toString() {
return name + ":" + num;
}
}/**
* 按 name 进行比较.
*/
class BookNameComparator implements Comparator {
public int compare(Object o1, Object o2) {
Book book1 = (Book)o1;
Book book2 = (Book)o2;
return book1.name.compareTo(book2.name);
}
}/**
* 按 num 进行比较.
*/
class BookNumComparator implements Comparator {
public int compare(Object o1, Object o2) {
Book book1 = (Book)o1;
Book book2 = (Book)o2;
return book1.num - book2.num;
}
}
-----------------------------
运行结果:
aa:3
bb:5
cc:2
ccc:1
**********
ccc:1
cc:2
aa:3
bb:5
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;public class TestSort { public static void main(String[] args) {
// 测试的数据.
Book book1 = new Book("aa", 3);
Book book2 = new Book("bb", 5);
Book book3 = new Book("cc", 2);
Book book4 = new Book("ccc", 1);
// 构成List.
List bookList = new ArrayList();
bookList.add(book1);
bookList.add(book2);
bookList.add(book3);
bookList.add(book4);
// 转换成数组.
Object [] bookArray = bookList.toArray();
// 按照 name 排序.
Arrays.sort(bookArray, new BookNameComparator());
dumpArray(bookArray);
System.out.println("**********");
// 按照 num 排序.
Arrays.sort(bookArray, new BookNumComparator());
dumpArray(bookArray);
}
// 测试输出.
public static void dumpArray(Object [] bookArray) {
for(int i = 0; i < bookArray.length; i ++) {
System.out.println(bookArray[i]);
}
}}class Book {
public String name;
public int num;
public Book(String name, int num) {
this.name = name;
this.num = num;
}
public String toString() {
return name + ":" + num;
}
}/**
* 按 name 进行比较.
*/
class BookNameComparator implements Comparator {
public int compare(Object o1, Object o2) {
Book book1 = (Book)o1;
Book book2 = (Book)o2;
return book1.name.compareTo(book2.name);
}
}/**
* 按 num 进行比较.
*/
class BookNumComparator implements Comparator {
public int compare(Object o1, Object o2) {
Book book1 = (Book)o1;
Book book2 = (Book)o2;
return book1.num - book2.num;
}
}
-----------------------------
运行结果:
aa:3
bb:5
cc:2
ccc:1
**********
ccc:1
cc:2
aa:3
bb:5
解决方案 »
- 想学java,不知道去哪里学
- 弄了几天了,关于struts标签html:multibox 编辑时提取选中的状态。
- 请教一个Hibernate3.1的问题
- 直接从控制台启动weblogic后配置成功的数据库连接池,在由jbuilder启动的weblogic下就变成UNAVAILABLE了?
- 关于tomcat 5.0,JDBC连接SQL Server 2000的问题,中文显示????,在线等!!民女谢了!!
- strut1.1+jakarta-tomcat-5.0.28报错.
- 再累,再难,再忙也挺! 因为有我们java 家庭
- 需要大家帮忙
- 我想调查一下搞j2ee开发的高级软件工程师月薪有多少?
- 线上tomcat突然自动关闭疑问
- 救命啊!jsp错误(和tomcat配置有关)
- 大家帮忙看看这个如何处理
xml可以用Document doc = DocumentHelper.parseText(String xml),
然后用List list = doc.selectNodes(xpath)得到List,
就可以用楼上的排序了。