当前位置: 代码迷 >> J2SE >> List 中的对象怎么根据某个字段进行排序?
  详细解决方案

List 中的对象怎么根据某个字段进行排序?

热度:33   发布时间:2016-04-24 12:22:27.0
List 中的对象如何根据某个字段进行排序?急!
我有一个ArrayList,里面放的是一些对象,我根据对象的某个字段对ArrayList中的对象进行排序,但是不知道怎么做?请知道的帮一下,谢谢!

------解决方案--------------------
List arr = new ArrayList();
arr.add("哈哈");
arr.add("2");
arr.add("1");
arr.add("5");
arr.add("3");
arr.add("4");
Object[] temp = arr.toArray();
Arrays.sort(temp);
arr = (List) Arrays.asList(temp);
System.out.println(arr);
------解决方案--------------------
Java code
        List list = new ArrayList();                //......                        Collections.sort(list, new MyComparator());                class MyComparator implements Comparator        {            //这里的o1和o2就是list里任意的两个对象,然后按需求把这个方法填完整就行了            public int compare(Object o1, Object o2)            {                //比较规则            }        }
------解决方案--------------------
探讨
Java code
List list = new ArrayList();

//......


Collections.sort(list, new MyComparator());

class MyComparator implements Comparator
{
//这里的o1和o2就是list里任意的两个对象,然后按需求把这个方法填完整就行了
public int compare(Object o1, Object o2)
{
//比较…

------解决方案--------------------
探讨
List arr = new ArrayList();
arr.add("哈哈");
arr.add("2");
arr.add("1");
arr.add("5");
arr.add("3");
arr.add("4");
Object[] temp = arr.toArray();
Arrays.sort(temp);
arr = (List) Arrays.asList(temp);
System.out.println(arr);

------解决方案--------------------
重写public int compare(Object o1, Object o2)这个方法.
------解决方案--------------------
探讨
引用:
Java code
List list = new ArrayList();

//......


Collections.sort(list, new MyComparator());

class MyComparator implements Comparator
{
//这里的o1和o2就是list里任意的两个对象,然后按需求把这个方法填完整就行了
public int compare(Object o1, Object o2)


------解决方案--------------------
5楼说的对~~~~~~~~~~~~~~~~~~~~~~~
------解决方案--------------------
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Test1 {
private String a;

private String b;

public Test1() {

}

public Test1(String a, String b) {
this.a = a;
this.b = b;
}

public String getA() {
return a;
}

public void setA(String a) {
this.a = a;
}

public String getB() {
return b;
}

public void setB(String b) {
this.b = b;
}

private List mySort(List arr) { // 交换排序->冒泡排序
Test1 temp = null;
boolean exchange = false;
for (int i = 0; i < arr.size(); i++) {
exchange = false;
for (int j = arr.size() - 2; j >= i; j--) {
if (((Test1) arr.get(j + 1)).getA().compareTo(
((Test1) arr.get(j)).getA()) >= 0) {
  相关解决方案