如何查找数组中的重复元素

位置:首页>文章>详情   分类: Java教程 > 编程技术   阅读(250)   2023-06-26 07:54:18

这是当今 Java 中最常见的面试问题。有许多技术可以在 java 中查找数组中的重复元素,比如使用 Collections.frequency()。我正在编写另一个更容易和快速的解决方案。

这里的整数数组有 10 个整数,1 和 8 是重复的整数。你需要过滤掉它们。

package com.cundage.interview;

import java.util.HashSet;
import java.util.Set;

public class DuplicateInArray 
{
	public static void main(String[] args) 
	{
		int[] array = {1,1,2,3,4,5,6,7,8,8};
		
		Set<Integer> set = new HashSet<Integer>();
		
		for(int i = 0; i < array.length ; i++) 
		{
			//If same integer is already present then add method will return FALSE 
			if(set.add(array[i]) == false) 
			{
				System.out.println("Duplicate element found : " + array[i]);
			}
		}
	}
}

Output:

Duplicate element found : 1
Duplicate element found : 8

在此解决方案中,您所要做的就是逐个迭代数组和集合中的所有元素。如果 Set.add() 方法返回 false,则元素已经存在于集合中,因此它是重复的

快乐学习!!

地址:https://www.cundage.com/article/find-duplicate-elements-in-an-array.html

相关阅读

palindrome 是单词、短语、数字或其他序列可以在任一方向以相同方式读取的单元,通常如果使用逗号、分隔符或其他单词分隔符,则将被忽略。 [非强制性] 类似地,回文数是那些如果所有数字都颠倒...
算法:给定一个字符串列表,返回该列表中具有第n最长长度的所有字符串,例如:list – Yuri, Ron, Interview, Longest, List, Contain和nth = 1 ...
你们中的许多人一定在童年时玩过 HiLo 游戏。游戏可能与它有些相似,即使不完全相同。这很有趣,对吧?那么,如果我们现在成年了呢?让我们以自己的方式再次玩这个游戏。让我们为此构建一个 java ...
学习编写 Java 程序来反转字符串。我们将首先看到如何反转字符串,我们还将看到如何反转字符串中的单词。 这是 Java 面试 初学者级别的常见问题。让我们记住这些解决方案以便快速回忆。 1.J...
我们都知道如何创建任何类的对象。在 Java 中创建对象的最简单方法是使用 new 关键字。让我们探索在 Java 中不使用 new 关键字创建对象的其他方法。 Table of content...
Java 面试 中的一个常见难题是 – 从数字序列或数组中找出缺失的数字。这个谜题已在 Amazon.com 中被问到。 在这个 Java 谜题中,您有一系列数字开头(例如 1….N),而这个系...
一个数的阶乘是 所有正降序整数的乘积,直到 1。 n 的阶乘用 'n!' 表示。 例如,我们可以将 5 的阶乘写为: 5! = 5 * 4 * 3 * 2 * 1 = 120 在 Java 面试...
这是当今 Java 中最常见的面试问题。有许多技术可以在 java 中查找数组中的重复元素,比如使用 Collections.frequency()。我正在编写另一个更容易和快速的解决方案。 这...
FizzBuzz 是一款主要在小学时玩过的有趣游戏。规则很简单:轮到你时,你说下一个数字。但是,如果该数字是五的倍数,则应改为说“fizz”(最好带有法国口音)。如果数字是七的倍数,你应该说“b...
学习识别 Java 中的死代码和无法访问的代码。它可能会在您的 Java 面试 编码问题中作为一个谜题被问到。 1.死码和无法访问的代码错误 为了理解死代码,在这个难题中,我在下面给出了一段代码...