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]

更新于:2024年7月22日

3K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始
广告