この記事では、ハッシュセットとLinkedHashsetを使用するArrayListから繰り返し要素を削除する2つの方法を示します。
ArrayListは、Javaで最も一般的に使用されるコレクションタイプの1つです。複数のヌル要素、繰り返される要素を柔軟に追加し、要素挿入の順序を維持することができます。コーディングの場合、Build -Up ArrayListから繰り返し要素を削除する必要がある要件に遭遇することがよくあります。
方法1:ハッシュセットを使用して、arrayListで繰り返し要素を削除します
この方法では、Hashsetを使用して繰り返し要素を削除します。ご存知のように、ハッシュセットは繰り返される要素を許可しません。 Hashsetのこの属性を使用して、構築されたArrayListの重複要素を削除します。ただし、この方法には欠点があります。つまり、ArrayListの要素の挿入順序を削除します。これは、繰り返される要素を削除した後、要素の順序が正しくないことを意味します。次の例を見てみましょう。
Import Java.util.arraylist; 。 / listwithduplicateelements system. "rintln:listwithduplicateemetsを使用して、listwithduplicateemetsを使用していますstring> ts = new arraylist <string>(set);
出力:
重複した要素を備えたアレイリスト:[Java、j2ee、jsp、jsp、servlets、java、struts、jsp]複製要素の再戦後:[java、jsp、j2ee、str uts]
出力結果に注意してください。重複要素を削除した後、要素が再シャッフルされていることがわかります。挿入順に配置されなくなりました。繰り返される要素を削除した後、要素の順序を保持したい場合は、この方法を使用することはお勧めしません。繰り返される要素を削除した後、要素の挿入順序が変更されないことを保証できる別の方法があります。つまり、LinkedHashsetを使用することです。
方法2:linkedhashsetを使用して、アレイリストの繰り返し要素を削除します
この方法では、LinkedHashsetを使用して、ArrayListの繰り返し要素を削除します。ご存知のように、LinkedHashsetは、要素挿入の順序を維持しながら、反復要素を許可しません。 LinkedHashsetのこれら2つの属性は、ArrayListで反復要素を削除した後、挿入要素の順序が維持されることを保証できます。次の例を参照してください。
java.util.arraylist。 ) ("ArrayList with Duplicate Elements:"); Rintln (ListWithDuplicateElements); // Construction LinkedhaShset USINGUPLICATEEMEEMEEMEEMEEMEEMEEMEEMEEMEEMEEMEEMEEMEEMEEMEEMEELEMEEMEELERE = New LinkedhashSet <string> (ListWithDuplicateElements); // Construction ListWithoutDuplicateements USING SET ArrayList <string> EELEMENTS = New ArrayList <string> (set) ; // listwithoutduplicatements.out.print( "Arraylist duplicate elements:");出力:
重複した要素を備えたアレイリスト:[Java、j2ee、jsp、jsp、servlets、java、struts、jsp]再発後のarraylist:[java、jspe、service uts]
出力に注意してください。アレイリストの繰り返し要素を削除した後、挿入の順序が維持されていることがわかります。
上記は、この記事のすべての内容です。