Java程式:移除ArrayList中的重複元素
在這篇文章中,我們將瞭解如何從ArrayList中移除重複元素。 ArrayList 類 是一個可調整大小的陣列,可以在 java.util 包 中找到。Java中內建陣列和ArrayList的區別在於陣列的大小不能修改。
問題陳述
給定一個ArrayList,編寫一個Java程式來移除ArrayList中的重複元素。以下是演示:
輸入
Input list : [150, 250, 300, 250, 500, 150, 600, 750, 300]
輸出
The list with no duplicates is: [150, 250, 300, 500, 600, 750]
從ArrayList中移除重複元素的步驟
以下是從ArrayList中移除重複元素的步驟:
- 步驟1 - 開始
- 步驟2 - 宣告變數
- 步驟3 - 定義值。
- 步驟4 - 建立一個整數ArrayList並初始化其中的元素。
- 步驟5 - 在控制檯上顯示ArrayList。
- 步驟6 - 建立另一個整數LinkedHashSet。
- 步驟7 - 使用addAll方法將前一個ArrayList中的元素作為元素包含到其中。
- 步驟8 - 因為它是一個集合,所以它只新增唯一值。
- 步驟9 - 清空ArrayList的元素。
- 步驟10 - 在控制檯上顯示包含唯一元素的集合。
- 步驟11 - 結束
方法1 - 使用LinkedHashSet從ArrayList中移除重複元素
在這裡,我們將所有操作繫結在main函式下:
import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedHashSet; import java.util.Set; public class Demo { public static void main(String[] args) { System.out.println("The required packages have been imported"); ArrayList<Integer> input_list = new ArrayList<>(Arrays.asList(150, 250, 300, 250, 500, 150, 600, 750, 300)); System.out.println("The list is defined as: " + input_list); Set<Integer> temp_set = new LinkedHashSet<>(); temp_set.addAll(input_list); input_list.clear(); input_list.addAll(temp_set); System.out.println("\nThe list with no duplicates is: \n" + input_list); } }
輸出
The required packages have been imported The list is defined as: [150, 250, 300, 250, 500, 150, 600, 750, 300] The list with no duplicates is: [150, 250, 300, 500, 600, 750]
方法2 - 使用使用者自定義函式從ArrayList中移除重複元素
在這裡,我們將操作封裝到函式中,展示面向物件的程式設計:
import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedHashSet; import java.util.Set; public class Demo { static void remove_duplicates(ArrayList<Integer> input_list){ Set<Integer> temp_set = new LinkedHashSet<>(); temp_set.addAll(input_list); input_list.clear(); input_list.addAll(temp_set); System.out.println("\nThe list with no duplicates is: \n" + input_list); } public static void main(String[] args) { System.out.println("The required packages have been imported"); ArrayList<Integer> input_list = new ArrayList<>(Arrays.asList(150, 250, 300, 250, 500, 150, 600, 750, 300)); System.out.println("The list is defined as: " + input_list); remove_duplicates(input_list); } }
輸出
The required packages have been imported The list is defined as: [150, 250, 300, 250, 500, 150, 600, 750, 300] The list with no duplicates is: [150, 250, 300, 500, 600, 750]
廣告