Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
たとえば、要素を持つArrayListがあります:
[a,b,c,d,e,f,g,h];
また、要素を取得する[a,b,c]必要があり、ArrayList である必要があり、最初のリストからそれらを削除し、削除した後に最初のリストからいくつかの要素を取得します。
[a,b,c]
それで、この仕事をするための(時間を考慮して)最良の方法は何ですか?つまり、要素を反復処理するか、配列に変換してから操作する必要がありますか?
多分これを行うためのいくつかの速い方法がありますか?
ありがとう。
を使用して新しいリストを作成subList()し、最初にビューを取得してからclear()、subList で使用します。例:
subList()
clear()
subList = originalList.subList(0, 3); newList = new ArrayList(subList); subList.clear();
ArrayList から要素を削除するにはすべての要素をシフトする必要があるため、一度に 1 つの要素を削除して元のリストを反復処理するよりもはるかに効率的です。a を使用するsubListと、シフトが 1 回だけ実行されます。
subList
メソッドを使用して、sublistこのリストを 2 つに分割できます ( を 2 回呼び出しますsublist)。
sublist