题是我面试的时候使用的一道题目,结果是是使用最笨的方式——使用便利,但是面试官教我使用Set这个类 在网上找了这么一张表,
可以看看 自己做的一个小demo可以参考
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Test {
/**
* 两个数组合并,去掉重复的,然后再排序
*/
public static void main(String[] args) {
int[] arr2 = {1,2,3,4,5};
int[] arr1 = {3,4,5,6,7};
//Set是不允许重复的,所以将数组的值全部放在Set对象中
Set set = new HashSet<Integer>();
for(int i = 0; i < arr1.length ; i++){
set.add(arr1[i]);
}
for(int i = 0; i < arr2.length ; i++){
set.add(arr2[i]);
}
//得到的是不重复的值,Set的长度
System.out.println(set.size());
Iterator i = set.iterator();
int[] arrays = new int[set.size()];
int num=0;
while(i.hasNext()){
int a = (Integer)i.next();
arrays[num] = a;
num = num + 1;
System.out.println(num);
}
for(int s = 0; s < arrays.length ; s++){
System.out.println(arrays[s]);
}
//对结果进行排序
Arrays.sort(arrays);
for(int s = 0; s < arrays.length ; s++){
System.out.println(arrays[s]);
}
}
}
- 大小: 30.3 KB
分享到:
相关推荐
* 归并排序算法:归并排序算法是一种高效的排序算法,它将链表分成两个部分,然后将这两个部分合并成一个链表。 * 哈希表算法:哈希表算法是一种高效的去除重复数据的算法,它使用哈希表来存储元素,然后删除重复的...
首先,我们要明确合并两个数组的基本思路。在不考虑去重的情况下,最简单的方法是遍历两个数组,每次取较小的元素添加到结果数组。但在这个问题中,我们需要在合并的同时排除重复元素,因此需要更复杂的策略。 一种...
合并两个已排序数组的基本思想是利用两个指针分别指向两个数组的起始位置,然后比较两个指针所指向的元素大小,较小的元素先被放入结果数组中,并将其对应的指针后移一位。重复此过程直至所有元素都被放入结果数组。...
本示例将探讨如何在VB中处理两个数组,去除相同值或将相同值保留下来。首先,我们需要理解数组的基本概念:数组是一种数据结构,可以存储一组具有相同数据类型的元素。 ### 一、数组的基本操作 在VB中,我们可以...
在给出的实例中,我们看到一个简单的JavaScript代码片段,用于合并两个数组并去除重复的元素。这段代码的核心在于`$.inArray()`函数,这是jQuery提供的一个方法,用于检查一个值是否存在于数组中。如果存在,它会...
如果两个数组都未遍历完,则比较元素并添加;如果一个数组遍历完,另一个未遍历完,则直接将剩余数组的元素添加到结果数组。 在实际应用中,这两种方法都能有效合并有序数组,但方法1的代码可能更简洁。然而,它们...
本文详细介绍了使用JavaScript实现合并多个数组并进行去重处理的算法示例,重点涉及了数组的合并、去重以及排序等操作技巧。下面将根据上述内容深入剖析知识点。 ### 数组合并去重算法 #### 数组合并 在...
排序后,如果连续的两个元素相等且不在临时数组`tmp`中,则将其加入`tmp`。最后返回`tmp`作为结果数组。这种方法的效率同样取决于数组的大小和数据的初始状态。 示例代码: ```javascript Array.prototype....
如果当前值是一个数组,我们递归调用`flatten()`函数并将结果合并到累加器中;否则,我们直接将当前值添加到累加器。最后返回累加器作为结果。 接下来,我们需要去除数组中的重复元素。一种方法是先扁平化数组,...
如果两个数组都包含数字,可能需要先进行合并,然后对合并后的数组执行去重操作。 易语言中,处理数组的常用函数有"数组长度"用于获取数组的元素个数,"数组元素"用于访问和修改数组中的单个元素,"数组比较"用于...
- `array_merge()`:用于合并一个或多个数组,但不会去除重复元素。如果需要保留键值且数组元素是关联数组,可以使用 `+` 操作符代替。 - `array_merge_recursive()`:递归地合并数组,当遇到相同的键时,值会被转换...
在这个例子中,我们关注的是`magicId`和`id`属性,如果这两个属性的值在两个对象中都相同,那么我们可以认为这两个对象是重复的。 2. **去重过程** - 定义一个空数组`result`用于存放不重复的对象。 - 定义一个空...
本源代码为C语言编写的合并排序算法实现,代码内数组初始为1-9,如有需要变动的请注意merge函数中的temp[]数组的大小必须和你设置的数组大小相同。
归并排序利用这一策略,将一个大数组分成两个小数组,分别对它们进行排序,然后将排好序的小数组合并成一个大的有序数组。 非递归的归并排序与传统的递归实现不同,它通过循环结构而不是函数调用来完成排序过程。...
归并排序同样基于分治法,它将数组分为两半,分别排序,然后合并这两个已排序的子数组。归并排序保证了稳定的排序,但需要额外的存储空间。 7. **堆排序**(Heap Sort): 堆排序利用了堆这种数据结构。首先将...
哈希函数可以将数据转化为唯一的哈希值,如果两个元素的哈希值相同,则可能存在重复。通过这种方式,可以高效地检测重复数据。 6. 递归与分治策略: 对于大型数据集,可以考虑使用递归或分治策略,将问题分解为更...
- `array_merge()`合并一个或多个数组。 - `array_intersect()`找出数组的交集。 - `array_diff()`找出数组的差集。 6. 数据结构操作: - `array_push()`在数组末尾添加元素。 - `array_pop()`移除并返回数组...
它将待排序的序列分为两半,分别对每一半进行排序,然后将两个已排序的子序列合并成一个完整的有序序列。归并排序的特点是稳定性,即相等的元素在排序后相对位置不会改变。此外,由于涉及到额外的存储空间,归并排序...
本实验主要探讨了在数据结构领域中如何对两个非递增有序的线性表进行合并,并在此基础上进一步处理合并后的表,以去除其中重复的元素。通过这一过程,学生可以深入理解顺序存储方式的特点及其在实际问题解决中的应用...
在实现中,首先创建一个P数组记录满足条件的元素,然后对P数组进行冒泡排序,再将排序结果应用回原数组A。具体代码段中: - 语句1:P[m++] = A[i]; - 语句2:i>0 && P[j] > P[j+1] - 语句3:A[P[j]] > A[P[j+1]] ...