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