「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を使用します。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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());
}
}
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()); } }
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());

      }

}

実行結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
LinkedListを連結する結果:
[東京, 大阪, 福岡, 横浜, 東京, 大阪]
長さ:6
重複要素を排除する結果:
[東京, 大阪, 福岡, 横浜]
長さ:4
LinkedListを連結する結果: [東京, 大阪, 福岡, 横浜, 東京, 大阪] 長さ:6 重複要素を排除する結果: [東京, 大阪, 福岡, 横浜] 長さ:4
LinkedListを連結する結果: 
[東京, 大阪, 福岡, 横浜, 東京, 大阪]
長さ:6
重複要素を排除する結果: 
[東京, 大阪, 福岡, 横浜]
長さ:4

 

Java

Posted by arkgame