gpt4 book ai didi

android - 在 android 日期和其他字符串中排序 arraylist

转载 作者:行者123 更新时间:2023-11-29 14:39:08 24 4
gpt4 key购买 nike

我有一个包含以下字符串的数组列表。

Tuesday, Thursday, Monday, Saturday.

我想看起来像这样排序:

Monday, Tuesday, Thursday, Saturday.

周日、周三有可能出现..

我有一个包含以下字符串的数组列表。

dog, rabbit, cow, duck, cat.

我想看起来像这样排序:

rabbit, cat, cow, duck, dog.

这可能吗?谢谢。

最佳答案

是的,你应该为每个做一个比较器Docs

public final class MyComparator implements Comparator<String>
{
@Override
public int compare(String a, String b)
{
//Return +1 if a>b, -1 if a<b, 0 if equal
}
}

对于一周中的几天,您可能希望使您的比较器与此类似;

public final class MyComparator implements Comparator<String>
{
private String[] items ={
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sunday"
};
@Override
public int compare(String a, String b)
{
int ai = items.length, bi=items.length;
for(int i = 0; i<items.length; i++)
{
if(items[i].equalsIgnoreCase(a))
ai=i;
if(items[i].equalsIgnoreCase(b))
bi=i;
}
return ai-bi;
}
}

然后根据您的自定义顺序对数组列表进行排序;

MyComparator myComparator = new MyComparator();
Collections.sort(myArrayList, myComparator);

如果您需要类型的默认排序(如果它实现了可比性),您可以在没有第二个参数的情况下调用 Collections.sort()Docs

关于android - 在 android 日期和其他字符串中排序 arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18253851/

24 4 0