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]
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP