我有一个充满 CardView 的 recyclerView,它有 2 个参数(它们都是字符串),其中之一是标题,我想要一个按钮来根据标题按字母顺序对它们进行排序。
因为它没有太多元素,所以我决定使用插入排序,即 o(n^2),这是我的实现:
public void ISortDes(String[]strings){
int j;
String key;
int i;
for (j = 1; j < strings.length; j++)
{
key = strings[ j ];
for(i = j - 1; (i >= 0) ; i--)
{
if (key.compareTo(strings[i]) > 0){
break;
}
strings[ i+1 ] = strings[ i ];
}
strings[ i+1 ] = key;
}
for (int k = 0; k < strings.length; k++){
System.out.println(strings[k]);
}
}
它需要一个字符串数组并对它们进行排序。
这是我的 RecyclerView 接受参数的方法:
private void initializeData() {
categories = new ArrayList<>();
categories.add(new Categories("CARS", "CARS"));
categories.add(new Categories("SPORTS", "SPORTS"));
categories.add(new Categories("GAMING", "GAMING"));
categories.add(new Categories("GAMBLING", "GAMBLING"));
categories.add(new Categories("TECH", "TECH"));
categories.add(new Categories("NATURE", "NATURE"));
categories.add(new Categories("RANDOM", "RANDOM"));
categories.add(new Categories("COUSINE", "COUSINE"));
categories.add(new Categories("HISTORY", "HISTORY"));
categories.add(new Categories("MUSIC", "MUSIC"));
categories.add(new Categories("STUDIES", "STUDIES"));
}
我认为我需要以某种方式将第一个参数传递给字符串数组,然后对其进行排序。
这个想法是在显示 RecyclerView 的同一个 Activity 的按钮中使用排序方法,并且当按下时,它必须对它们进行排序,而无需转到另一个 Activity。
我有点迷失在这里。
在简历中,我想做的是有一个按钮,根据“标题”参数按字母顺序对 RecyclerView 的元素(在本例中为 CardView)进行排序。
我的想法对吗,你有其他方法可以做到这一点,或者我应该做什么才能实现这个目标?
太感谢了。