「Java」LinkedHashSetでLinkedListの重複要素を排除する

2022年2月25日

環境
JavaSE1.8
Eclipse 4.6.2

関数
1.public boolean addAll(Collection<? extends E> c)
指定されたコレクション内のすべての要素を、指定されたコレクションのイテレータによって返される順序でこのリストの最後に追加します。
2.LinkedHashSet<String>
予測可能な反復順序を持つSetインタフェースのハッシュ表とリンク・リストの実装です。
この実装は、すべてのエントリをまたがる二重のリンク・リストを保持するという点で、HashSetとは異なります。

説明
Javaでは、LinkedListの連結にaddAllメソッドを使用します。
重複要素を排除にはLinkedHashSetを使用します。

使用例

package com.arkgame.study;

import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.LinkedList;

public class LinkedListAddDemo {

      public static void main(String[] args) {
            LinkedList<String> listA = new LinkedList<String>(Arrays.asList("東京", "大阪", "福岡"));
            LinkedList<String> listB = new LinkedList<String>(Arrays.asList("横浜", "東京", "大阪"));

            // LinkedListを連結
            listA.addAll(listB);
            // 全要素の表示
            System.out.println("LinkedListを連結する結果: \n" + listA + "\n長さ:" + listA.size());

            // 重複要素のユニーク化
            LinkedHashSet<String> uqLst = new LinkedHashSet<String>(listA);
            System.out.println("重複要素を排除する結果: \n" + uqLst + "\n長さ:" + uqLst.size());

      }

}

実行結果

LinkedListを連結する結果: 
[東京, 大阪, 福岡, 横浜, 東京, 大阪]
長さ:6
重複要素を排除する結果: 
[東京, 大阪, 福岡, 横浜]
長さ:4

 

Java

Posted by arkgame