Java 如何根据数组列表中的字符串值对其进行排序
在arraylist中,我有不同的字符串,如“Home”、“Work”、“XYZ”、“YZX”、“JDMD”…如何将Home放在顶部,然后工作,然后剩余。有人建议一种方法来实现这一点Java 如何根据数组列表中的字符串值对其进行排序,java,android,sorting,arraylist,Java,Android,Sorting,Arraylist,在arraylist中,我有不同的字符串,如“Home”、“Work”、“XYZ”、“YZX”、“JDMD”…如何将Home放在顶部,然后工作,然后剩余。有人建议一种方法来实现这一点 ArrayList list = new ArrayList<>(); list.add("Home"); list.add("Work"); list.add("Freetime"); list.remove("Work"); list.add(0, "Work"); ArrayList list=
ArrayList list = new ArrayList<>();
list.add("Home");
list.add("Work");
list.add("Freetime");
list.remove("Work");
list.add(0, "Work");
ArrayList list=new ArrayList();
列表。添加(“主页”);
列表。添加(“工作”);
添加(“空闲时间”);
列出。删除(“工作”);
列表。添加(0,“工作”);
greats DevLen如果您不愿意编写自己的排序或创建包装器,您可以执行以下操作
List<String> originalList = Arrays.asList("YZW", "Work", "Freetime", "Home", "XZY");
originalList.sort((x,y) -> x.compareTo(y));
注意:-上述代码中使用的add()方法需要将列表中的元素向右移动。添加(0,obj)和删除的复杂性为O(n)如果要按字母顺序对集合进行排序,可以执行以下操作
List<String> originalList = Arrays.asList("YZW", "Work", "Freetime", "Home", "XZY");
originalList.sort((x,y) -> x.compareTo(y));
List originalList=Arrays.asList(“YZW”、“Work”、“Freetime”、“Home”、“XZY”);
原始列表排序((x,y)->x.compareTo(y));
如果你总是希望在一开始就有家,那么首先要改变CuffRealto函数来考虑家。
< P>如果你想在排序顺序中添加字符串,你可以使用。下面是一段代码片段SortedSet<String> set = new TreeSet<>();
set.add("JDMD");
set.add("YZX");
set.add("XYZ");
set.add("Work");
set.add("Home");
for(String s : set) {
System.out.println(s);
}
SortedSet set=new TreeSet();
添加(“JDMD”);
集合。添加(“YZX”);
集合。添加(“XYZ”);
设置。添加(“工作”);
设置。添加(“主页”);
for(字符串s:set){
系统输出打印项次;
}
这将以排序方式添加每个字符串 您的意思是插入到第一个位置?您需要在新的arraylist中写入所有值。但是它不能自动执行,您必须检查每个值,如果它匹配,请按您想要的顺序将其添加到arraylist中。您可以在我的问题中看到字符串的顺序,这些字符串是随机的,应该是类似于上述顺序的。首先将其放在主位置,然后在剩余的位置工作。