`
抢街饭
  • 浏览: 45349 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

如何用Java求两数组交集,并集,差集(整理的笔记)

阅读更多

package com.demo;

public class TestUnion {
    public static void main(String args[]){
        int a[] = {1,5,8,10,14,15,17,18,20,22,24,25,28};
        int b[] = {2,4,6,8,10,12};
//        for(int i = 0; i < b.length; i++){
//            for(int j = 0; j < a.length; j++){
//                if(b[i] == a[j]){
//                    System.out.print(" " + b[i]);
//                    break;
//                }
//                else
//                    continue;
//            }
//        }
        int i=0;
        int j=0;
        while(i<a.length && j < b.length)
        {
        if(a[i] < b[j])
        {
            i++;
        }
        else if (a[i] == b[j])
        {
          System.out.println(a[i]);
            i++;
            j++;
        }
        else
        {
            j++;
        }
        }
    }
}

 

如何求两个数组的交集,并集,差集

int[] arr1={1,2,3,4,5,6,7,8,9,10};

int[] arr2={2,4,6,8,10};

交集:
public class ArrayListTest{
public static void main(String[] args){
int[] arr1={1,2,3,4,5,6,7,8,9,10};
int[] arr2={2,4,6,8,10};
for(int i=0;i<arr1.length;i++){
for(int j=0;j<arr2.length;j++){
if(arr1[i]==arr2[j])
System.out.println(arr2[j]);
}
}
}
}

 

 


并集:
public class ArrayListTest{
public static void main(String[] args){
int[] arr1={1,2,3,4,5,6,7,8,9,10};
int[] arr2={2,4,6,8,10};
int[] arr3=new int[100];
int k=arr1.length;
int flag=0;
System.arraycopy(arr1, 0, arr3, 0, arr1.length);
for(int i=0;i<arr2.length;i++){
for(int j=0;j<arr1.length;j++){
if(arr2[i]==arr1[j]){
flag=1;
}
}
if(flag!=1){
arr3[k]=arr2[i];
k++;
}
flag=0;
}
for(int z=0;z<k;z++){
System.out.print(arr3[z]);
}
}
}

 

差集:
public class ArrayListTest{
public static void main(String[] args){
int[] arr1={1,2,3,4,5,6,7,8,9,10};
int[] arr2={2,4,6,8,10};
int[] arr3=new int[100];
int k=0;
int flag=0;
for(int i=0;i<arr1.length;i++){
for(int j=0;j<arr2.length;j++){
if(arr2[j]==arr1[i]){
flag=1;
}
}
if(flag!=1){
arr3[k]=arr1[i];
k++;
}
flag=0;
}
for(int z=0;z<k;z++){
System.out.print(arr3[z]);
}
}
}

分享到:
评论
2 楼 nextw3 2011-05-24  
残念,代码写错了
1 楼 nextw3 2011-05-24  
//并集
public class ArrayListTest{
public static void main(String[] args){
int[] arr1={1,2,3,4,5,6,7,8,9,10};
int[] arr2={2,4,6,8,10};
int[] arr3=new int[100];
int k=arr1.length;
System.arraycopy(arr1, 0, arr3, 0, arr1.length);
for(int i=0;i<arr2.length;i++){
for(int j=0;j<arr1.length;j++){
if(arr2[i]==arr1[j]){
break;
}
arr3[k]=arr2[i];
k++;
}
}
for(int z=0;z<k;z++){
System.out.print(arr3[z]);
}
}
}

去掉flag变量,用break控制。这样不是更好吗?

相关推荐

    oracle笔记set运算符及练习

    oracle笔记set运算符及练习,求并集,交集,差集,有具体的代码案例!

    P262~263C++常用集合算法学习笔记.docx

    这些算法可以对容器进行交集、并集和差集运算。 集合算法简介 集合算法是C++ STL(Standard Template Library)中的一部分,提供了一些常用的算法来操作容器。这些算法可以对容器进行交集、并集和差集运算,提高了...

    Leetcode题笔记精选.zip

    5. 哈希表:哈希表提供了快速查找、插入和删除操作,是解决“查找”类问题的利器,如两个数组的交集、差集、并集等。 在编程语言部分,笔记可能覆盖了Java、Python、C++等多种语言,强调如何用这些语言高效地实现...

    清华殷人昆数据结构笔记(c++)7

    在C++中,集合可以被抽象为一个模板类`Set`,提供如添加元素、删除元素、求并集、交集、差集等方法。 在实际实现中,位向量(bit vector)是一种常见的数据结构,用于表示有限集合的子集。当全集合的大小不是很大,...

    Redis学习笔记整理

    - **集合**:集合内部是由一个没有重复元素的字符串数组表示,支持交集、并集、差集等操作。 - **有序集合**:与集合类似,但是每个元素都关联了一个分数,可以按照分数进行排序。 - **哈希**:哈希由字段(field)和...

    redis 缓存技术学习笔记

    这些数据类型支持原子性的操作,例如push/pop、add/remove以及集合间的交集、并集和差集等运算。 - **数据排序**:除了基本的数据管理功能之外,Redis还支持对数据进行排序,可以根据不同的需求对数据进行灵活的...

    python入门笔记(推荐)

    而集合则是不重复元素的集合,支持集合操作如交集、并集和差集。 函数是Python编程的重要组成部分。笔记会介绍如何定义函数,传递参数,以及返回值的概念。此外,Python还有内置函数,如`len()`计算长度,`type()`...

    Python学习笔记md文件.rar

    这两部分将详细介绍它们的特点、用法及操作,如`heapq`模块的使用和集合操作(如并集、交集、差集等)。 7. **八皇后问题.md** 八皇后问题是一个经典的算法问题,它展示了如何在8x8的棋盘上放置8个皇后,使得任意...

    尚硅谷周阳Redis笔记

    4. 集合(Set):无序不重复元素集合,支持并集、交集、差集操作。 5. 有序集合(Sorted Set):与集合类似,但每个元素都有一个分数,根据分数进行排序。 【Redis的持久化】 1. RDB(Snapshotting):定期或手动...

    redis学习笔记,redis详解,Java源码.zip

    4. 集合:无序的不重复元素集合,支持交集、并集、差集操作。 5. 有序集合:集合基础上增加了排序功能,元素可以按分数排序。 三、Redis持久化 为了保证数据不丢失,Redis提供了两种持久化方式: 1. RDB...

    《概率论与数理统计》讲义笔记【高斯课堂】.pdf

    概率论中,事件的运算主要包括事件的并集、交集、差集和补集等。这些运算在计算事件发生的概率时非常关键。概率的计算是概率论与数理统计中不可或缺的一部分。概率的定义通常与样本空间中的事件有关,是对事件发生的...

    python学习笔记day4之set类型(csdn)————程序.pdf

    集合的主要用途在于它的数学运算,包括交集、差集、并集和对称差集: - **交集**:两个集合共有的元素,使用 `&` 运算符,如 `vars1 & vars2` 结果为 `{1, 2}`。 - **差集**:在第一个集合中存在的,但不在第二个...

    离散数学手写笔记,建议收藏

    - 集合的运算:并集、交集、差集、补集。 - 分解原理与笛卡尔积。 - 基数与无限集合。 2. **逻辑与命题**: - 命题逻辑:真值表、联接词(与、或、非)、蕴含、等价。 - 复合命题的化简与等价关系。 - 量词:...

    cad学习笔记.docx

    * 创建面域:reg 或绘图-面域,面域的布尔运算:圆的交集,并集,差集。 九、块的制作 * 创建块:绘图-块-创建块,如图。 * 块的插入:插入-块,找到块在哪个文件里导入,输入自己的块名。 十、尺寸线标注 * ...

    Algebra 笔记 (法语版)

    在这个笔记中,你可能会遇到如集合、元素、子集、并集、交集、差集以及幂集等概念。集合论还引入了重要的符号,例如大括号{}用来表示集合,双竖线||表示属于关系,以及Venn图来可视化集合之间的关系。 接下来,我们...

    Redis缓存老师笔记

    4. 集合(Sets):无序且不重复的元素集合,支持成员的添加、删除和检查操作,可用于实现交集、并集和差集等操作,适用于推荐系统或去重场景。 5. 有序集合(Sorted Sets):与集合类似,但每个元素都有一个分数,用于...

    《Python编程:从入门到实践》的笔记与习题整理.zip

    - 集合:无序的唯一元素集合,支持并集、交集、差集等操作。 3. **函数和模块**: - 内置函数:如len()、type()、print()等,是Python内置的函数,可以直接调用。 - 自定义函数:学习如何创建自定义函数,以及...

    python笔记.rar

    4. 集合(set):无序且不重复的元素集,支持集合操作如并集、交集、差集。 四、模块与包 1. 模块:将相关功能封装在.py文件中,通过import导入到其他程序中使用。 2. 包:用于组织模块,通过点号分隔命名空间,...

    常见数据结构与算法的Python实现及学习笔记.zip

    3. 集合(Set):无序且不重复的元素集合,支持数学运算如并集、交集和差集。 4. 字典(Dictionary):键值对的集合,通过键来快速查找值,提供了高效的查找效率。 接着,我们来看看几种重要的算法: 1. 排序算法: -...

Global site tag (gtag.js) - Google Analytics