gpt4 book ai didi

java使用匿名类排序

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:03:39 24 4
gpt4 key购买 nike

我在类里面对列表进行排序。

import java.util.*;

public class First
{

private static HashMap<String,Second> msgs;

public static void main(String[] args)
{

List<String> ls=new ArrayList<String>();


ls.add("fourth");
ls.add("2");
ls.add("second");
ls.add("first");
ls.add("third");
ls.add("1");

Iterator it=ls.iterator();

// before sorting
while(it.hasNext())
{
String s=(String)it.next();
System.out.println(s);
}

Collections.sort(ls, new Comparator(){
public int compare(Object o1, Object o2) {
return -1;
// it can also return 0, and 1
}
});

System.out.println(" ");

//after sorting
Iterator iti=ls.iterator();
while(iti.hasNext())
{
String s=(String)iti.next();

System.out.println(s);
}

}


}

程序运行后,我得到这些值:

1    
third
first
second
2
fourth

我的问题是 Collection.sort() 函数在这里的行为是什么。从比较函数返回 -1 时,我们得到列表的相反顺序。那我们怎么才能得到其他的排序顺序呢?返回0、1的作用是什么?

最佳答案

最后,我通过这种方式修改排序函数,得到排序后的数据。

 Collections.sort(ls, new Comparator(){

public int compare(Object o1, Object o2)
{
String sa = (String)o1;
String sb = (String)o2;

int v = sa.compareTo(sb);
return v; // it can also return 0, and 1

}
});

关于java使用匿名类排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10671287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com