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]
广告