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]

3 つの要素はなくなりましたが、リストはまだソートされています。ところで、JavaListは挿入順でソートされることを意図しています。いくつかの特定の基準で要素を並べたい場合は、たとえば aSortedSetのように使用できますTreeSet

于 2012-12-29T11:07:47.210 に答える