【问题标题】:how to maintain sorting of array list after removal of items in android?删除android中的项目后如何保持数组列表的排序?
【发布时间】:2012-12-29 10:52:34
【问题描述】:

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

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);

请帮助我。在此先感谢。

【问题讨论】:

  • 只是一个问题:你为什么要使用这么长的变量名m_namesOfContactsArrayList :)
  • 只是为了让它易于理解。
  • +1 提供有趣的场景...

标签: android sorting arraylist


【解决方案1】:

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

只是为了在您的代码上进行演示:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-17
    • 2012-03-20
    • 2018-01-26
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    相关资源
    最近更新 更多