按字母顺序对ArrayList进行排序

3

我正在从一个arrayList中创建一个listView。现在我想按字母顺序对listView进行排序。我已经在网上搜索过了,但没有一个方法能够解决问题。我该如何实现��

我的代码:

String[] Hospitals = getResources().getStringArray(R.array.Hospitals);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, Hospitals);

mListView.setAdapter(adapter);

“Hospitals”是我strings.xml文件中的一个列表。

我已经在网上搜索过了,但都没有起作用。你搜索了什么并尝试了什么? - kiner_shah
为什么不直接对ArrayList进行排序呢? - Abdennacer Lachiheb
这是对List进行排序的方法:https://developer.android.com/reference/java/util/Collections.html#sort(java.util.List<T>),只需将数组转换为ArrayList并使用它即可。 - Budius
2个回答

10

就像你所说的,Hospitals不是一个ArrayList,而只是一个字符串数组(String []),因此你需要使用以下内容:

List<String> list = Arrays.asList(etst);

然后您可以使用以下代码进行排序

Collections.sort(list, new Comparator<String>() {
            @Override
            public int compare(String s1, String s2) {
                return s1.compareTo(s2);
            }
        });

如果您希望忽略大小写:

Collections.sort(list, new Comparator<String>() {
        @Override
        public int compare(String s1, String s2) {
            return s1.compareToIgnoreCase(s2);
        }
    });

0

使用Arrays.sort(Hospitals)对数组进行排序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接