「Java」LinkedHashSetでLinkedListの重複要素を排除する
環境
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