1

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

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

请帮助我。在此先感谢。

4

1 回答 1

2

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

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

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]

这三个元素都消失了,但列表仍然排序。顺便说一句,javaList旨在按插入顺序排序。如果您想按某些特定标准对元素进行排序,您可以使用例如 a SortedSet,例如TreeSet

于 2012-12-29T11:07:47.210 回答