import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<Integer> list1 = new ArrayList<Integer>();
for(int i = 0 ; i < 5; i ++){
list1.add(i);
}
list1.add(4);
ArrayList<Integer> list2 = new ArrayList<Integer>();
for(int i = 0 ; i < 10; i ++){
list2.add(i);
}
deleteRepeatData(list1);
deleteRepeatData(list2);
intersect(list1, list2);
Integer integer[] = union(list1, list2);
for(int i = 0 ; i < integer.length ; i ++){
System.out.println("union(list1, list2);== "+ integer[i]);
}
}
/**
* 数组的交集
* @param list1
* @param list2
*/
private static void intersect(ArrayList<Integer> list1,
ArrayList<Integer> list2) {
int size1 = list1.size();
int size2 = list2.size();
if(size1 > size2){
for(int i = 0 ; i < size1 ; i ++){
for(int k = 0 ; k < size2 ; k ++){
if(list1.get(i) == list2.get(k)){
System.out.println("list1.get("+ i + ") == " + list1.get(i));
}
}
}
}else{
for(int i = 0 ; i < size2 ; i ++){
for(int k = 0 ; k < size1 ; k ++){
if(list2.get(i) == list1.get(k)){
System.out.println("list2.get("+ i + ") == " + list2.get(i));
}
}
}
}
}
/**
*去掉数组中重复的数据
* @param numList
*/
private static void deleteRepeatData(ArrayList<Integer> numList) {
Iterator<Integer> iterator = numList.iterator();
int temp = -1;
if(iterator.hasNext()){
temp = iterator.next();
}
while(iterator.hasNext()){
int i = iterator.next();
if(i == temp ){
iterator.remove();
}else{
temp = i;
}
}
System.out.println(numList);
}
/**
* 数组的并集
* 求两个字符串数组的并集,利用set的元素唯一性
* @param arrayList1
* @param arrayList2
* @return
*/
public static Integer[] union(ArrayList<Integer> arrayList1,ArrayList<Integer> arrayList2){
Set<Integer> set = new HashSet<Integer>();
for(Integer in : arrayList1){
set.add(in);
}
for(Integer in : arrayList2){
set.add(in);
}
Integer[] integers = new Integer[]{};
set.toArray(integers);
return set.toArray(integers);
}
}
分享到:
相关推荐
利用java 语言,实现数组的并集交集补集,数组可键入。
求java数组的交集,并集,差集 实现方法简单但很实用
下面将详细介绍如何在Java中实现多个数组的交集和并集。 首先,让我们从交集开始。假设我们有多个数组,例如`array1`, `array2`, `array3`等,我们想要找出它们共有的元素。一个简单的实现方式是先将这些数组合并为...
在Java中处理JSON数据时,经常需要对JSON数组进行各种操作,其中去重是一个常见的需求。本文将详细介绍如何使用Java对`JSONArray`进行去重操作,并深入探讨背后的原理和技术细节。 ### JSON与Java JSON...
在Java中,可以通过遍历两个集合并计算交集和并集来实现。 3. **余弦相似度**:在多维空间中衡量两个向量之间的角度,适用于高维数据。可以先将字符串转化为词频向量,然后使用Java的`java.util.Math.cos()`计算两...
例如,你可能会遇到查找数组中的最大值、最小值、特定元素,或者是两个数组的交集、并集等。这些题目对于理解数组的基本特性和操作非常有帮助,同时也训练了程序员的逻辑思维能力。 在Java中,处理数组时可以使用...
问题描述是实现两个集合(A和B)的交集、并集和差集运算,并输出结果。集合元素可以是字母、整数或字符串,它们的大小和长度由数组表示。设计中需要定义数组存储集合元素,构造方法处理运算,并输出运算结果。算法...
通过分析给定的示例代码,我们了解到一种计算字符串数组交集的具体实现方法。在实际开发中,根据具体的业务需求选择合适的算法是非常重要的。希望本文能够帮助读者更好地理解和掌握集合的相关知识。
在这个设计中,我们将探讨如何利用各种数据结构实现集合的基本操作,如并集、交集、差集等。 首先,我们要理解集合的基本概念。集合是由一组具有某种特定属性的对象组成的整体,这些对象称为集合的元素。在计算机...
2. 创建`integerSet`对象`d`,并调用`bool`、`jiao`、`bing`和`delete`方法,实现集合的比较、交集、并集以及删除操作。 通过以上分析可以看出,`integerSet`类实现了基本的集合操作,包括比较、交集、并集及删除等...
用于两个已排序数组的交集和并集的程序。 IntersectionUnion.java 数组 程序查找两个二进制数组中最长的跨度和。 LongestSpan.java 链表 链接列表创建代码。 LinkedListCreation.java 链表 链接列表插入代码。...
具体来说,需要输出两个集合的交集、并集和差集。 二、集合运算的设计 集合运算是常用的数学计算,为了更加方便地进行此类运算,在此设计了一个简单的集合运算Java程序。该程序使用数组代表集合,主要使用循环语句...
在本Java实验中,主要涉及了...这个实验旨在让学生掌握基本的数组操作,排序算法的实现,以及如何处理数据集合(如交集和并集)。通过这个实验,学生能进一步理解面向对象编程的概念,增强对Java语言的实际应用能力。
5. **数组排序**:Java内置的Arrays.sort()方法可以对数组进行排序,适用于基本类型和实现了Comparable接口的对象。 6. **数组的交集和并集**:找出两个数组的交集和并集通常需要遍历数组并使用集合(如HashSet)来...
- **并集、交集、差集**:`union()`, `intersection()`, `difference()`分别对应集合的并、交、差操作。 6. **泛型**: 泛型允许在集合中声明和使用特定类型的元素,提高代码安全性和可读性。 7. **并发集合**:...
在Java中,我们通常使用ArrayList来表示线性表,因为它提供了动态数组的功能,可以方便地进行添加、删除和查找操作。 首先,我们需要理解线性表的基本操作,包括插入元素、删除元素和查找元素。在这个例子中,我们...
在本实验中,我们将深入探讨数据结构中的集合操作,包括集合的交集、并集和差集。这些基本概念是计算机科学,特别是算法和数据结构领域的重要组成部分。实验标题为"实验一集合交并差.zip",暗示我们将通过实际操作来...
- 第二题涉及集合和计数,需要理解集合论的基本概念,例如交集、并集和子集。 2. **JAVA基础**: - 面向对象的三大特性:封装、继承、多态。这些都是Java编程的基础,用于构建可维护和可扩展的代码结构。 - ...