android - 在android中删除项目后如何保持数组列表的排序?

标签 android sorting arraylist

我正在制作一个项目数组列表并偶尔更改其内容。问题是从数组列表中删除一个项目后,项目序列变得困惑并且数组列表失去了排序。我搜索了很多但是不知道如何在从中删除项目后保持数组列表排序。这是我正在使用的代码:

ArrayList<String> m_namesOfContactsArrayList = new ArrayList<String>();

for(int i = 0;i < 100;i++)
m_namesOfContactsArrayList.add(i);

这是我要删除项目的地方:

m_namesOfContactsArrayList.remove(3);
m_namesOfContactsArrayList.remove(4);
m_namesOfContactsArrayList.remove(5);

请帮助我。提前致谢。

最佳答案

元素的删除不会影响元素的顺序。

只是为了在您的代码中演示它:

ArrayList m_namesOfContactsArrayList = new ArrayList();

for(int i = 0;i < 10;i++)
    m_namesOfContactsArrayList.add(""+i);

System.out.println(m_namesOfContactsArrayList);

m_namesOfContactsArrayList.remove(3);
m_namesOfContactsArrayList.remove(4);
m_namesOfContactsArrayList.remove(5);

System.out.println(m_namesOfContactsArrayList);

删除前: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

删除后: [0, 1, 2, 4, 6, 8, 9]

三个元素都没有了,但是列表还是排序好的。 顺便说一句,java List 旨在按插入顺序排序。如果您想按某些特定标准对元素进行排序,您可以使用例如一个 SortedSet,例如 TreeSet

关于android - 在android中删除项目后如何保持数组列表的排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14080948/

相关文章:

java - Java中如何通过各种参数对这个ArrayList进行排序?

android - 按类型过滤 assetManager.list 文件

java - 初始项目错误 libgdx 1.0

android - fitSystemWindows 以编程方式实现状态栏透明度

Java 集合,无法用新值覆盖旧值

Java如何将文本文件中的内容存储到数组列表中

android - 有没有办法将消息从 Android 浏览器传递到应用程序?

javascript - 有没有办法像我一样对两个并行数组进行排序

javascript - 从数组创建对象并排序

java - 根据从字符串解析的日期对 ArrayList<String> 进行排序