6

ArrayListで最後に追加された要素を取得するにはどうすればよいですか。これは最後の要素を取得する方法を説明していると思いますが、最後に追加された要素は常に最後の要素ですか?

4

3 に答える 3

13

はい、他の人が言ったように、ArrayList挿入順序を保持します。最後に追加した要素が必要な場合は(常に要素を追加する場合のみadd(element))、次のように入力します。

yourArrayList.get(yourArrayList.size()-1);

あなたの答えはあなたが言ったリンクにあります:)

于 2012-09-19T11:11:14.660 に答える
4

はいArrayList、挿入順序を保持します

indexを指定して特定の位置に要素を明示的に追加するadd()場合、この場合、ArrayList実装をカスタマイズして挿入時間を設定する必要があり、最後に挿入された要素を取得するときに、その時間を計算で考慮します。

または、 Marko Topolnikが提案したように、最後に挿入されたアイテムを指す参照があり、 削除時にも維持することをお勧めします

LinkedHashSetセットの一意性プロパティを気にしない場合は、使用する方が良いでしょう。

于 2012-09-19T10:15:55.987 に答える
1

add(element)署名を使用している場合、最後の要素はArrayList常に最後に挿入された要素になります。

あなたが使用している場合、あなたadd(index, element)は最後のものがどれであるかを正確に知ることはできません。そのサブクラスを作成する最も簡単なソリューションは、ArrayList最後に挿入された要素を特別な変数に保持します。

于 2012-09-19T10:22:11.980 に答える