`
jackey25
  • 浏览: 109171 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

查找在A数组中存在,B数组不存在的数据

阅读更多
查找在A数组中存在,B数组不存在的数据
有以下三种方法
总结 :
1.使用了循环里面的label
2.使用了一个flag作为标志位
3.最简单,使用了Set这个集合的remove(Collection)方法。

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;


/*
 * 查找在A数组中存在,B数组不存在的数据
 */
public class FindData {
	public static void main(String[] args) {
	    int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
	    int[] b = { 2, 4, 6, 8, 0 };
	    FindData m = new FindData();
	    List s = new ArrayList();
	    //s = m.FindDifferent1(a, b);
	    s = m.FindDifferent3(a, b);
	    Iterator it = s.iterator();
	    while(it.hasNext()){
	    	System.out.println(it.next());
	    }
	  }

	public List FindDifferent1(int[] a, int[] b){
		List list = new ArrayList();
		Outer: for(int i=0;i<a.length;i++){
			for(int j=0;j<b.length;j++){
				if(a[i] == b[j]){
					continue Outer;
				}
			}
			list.add(a[i]);
		}
		return list;
	}

	public List FindDifferent2(int[] a, int[] b){
		List list = new ArrayList();
		boolean flag ;
		for(int i : a){
			flag = false;
			for(int j : b){
				if(i==j)
					flag = true;
			}
			if(flag != true)
				list.add(i);
		}
		return list;
	}

	public List FindDifferent3(int[] a, int[] b){
		Set set1 = new HashSet();
		Set set2 = new HashSet();
		List list = new ArrayList();
		for(int i : a){
			set1.add(i);
		}
		for(int j : b){
			set2.add(j);
		}
		set1.removeAll(set2);
		Iterator it = set1.iterator();
		while(it.hasNext()){
			list.add(it.next());
		}
		return list;
	}
}

分享到:
评论

相关推荐

    FINDARRAY:在另一个数组中找到一个数组。-matlab开发

    FINDARRAY 在另一个数组中查找一个数组I = FINDARRAY(A,B,'first') 为数组 B 返回一个索引数组与 B 相同的大小,包含 A 中每个的最小绝对索引B 的元素是 A 的成员,如果没有这样的索引,则为 0。 FINDARRAY(A,B) 与 ...

    用matlab如何求出一个数组中最接近某个数的五个数

    用matlab如何求出一个数组中最接近某个数的两五个数,带有测试图片,要求大于五个只需要按程序一次添加相应的代码!

    求两个数组的交集,配合去重方法使用.html

    // 那arr1中的数据 去arr2数组中检测在arr2是否存在 // arr2.indexOf(item) 检测arr2中否是有 item这个数据 // 有数据就返回到新数组里面 数据索引,没有数据返回 -1,只要不等于-1就说明数据存在 return (arr2....

    折半查找 c语言函数

    折半查找c语言函数, 在数组总查找 例子

    javascript入门笔记

    1、从弹框中,分两次输入两个数字,分别保存在 a 和 b中 2、如果 a 大于 b的话 ,则交换两个数字的位置 使用 短路&&,扩展赋值运算符,位运算 4、条件运算符(三目运算) 单目(一元)运算符 :++,--,! 双目(二元)...

    实验4 数组(4学时)

    1、在main方法中创建一个含有10个元素的int型数组,进行以下操作:(1)将数组元素按照从小到大的顺序排列;(2)对排好序的数组使用折半查找(使用递归和非递归两种形式分别实现)查找某一个int元素。 2、使用一维...

    数据结构第五章作业答案参考(C语言)

    6. 假设二维数组M[1..3, 1..3]无论采用行优先还是列优先存储,其基地址相同,那么在两种存储方式下有相同地址的元素有( )个。 A. 3 B. 2 C. 1 D. 0 7. 若Tail(L)非空,Tail(Tail(L))为空,则非空广义表L的长度是...

    数据结构与算法复习(Java):排序、字符串、数组、链表、二分查找、二叉树.zip

    存储结构(物理结构):描述数据在计算机中如何具体存储。例如,数组的连续存储,链表的动态分配节点,树和图的邻接矩阵或邻接表表示等。 基本操作:针对每种数据结构,定义了一系列基本的操作,包括但不限于插入、...

    查找(折半,二叉排序树,二叉平衡树,B树,散列表)

    代码和讲解 字符串,模式匹配,BF模式匹配,算法 查找(顺序,折半,插值,斐波那契,分块,二叉排序树,二叉平衡树,B树,散列表)代码和讲解,内容详细全面,通俗易懂,通过测试,代码可以直接使用,方便大家学习.

    程序设计基础答案

    〖程序设计基础〗练习题1 一、选择题(每题1分,共30分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。 1.以下的选项中能正确表示Java语言中的一...

    计算机二级公共基础知识

    例如,在一维数组[21,46,24,99,57,77,86]中,查找数据元素99,首先从第1个元素21开始进行比较,比较结果与要查找的数据不相等,接着与第2个元素46进行比较,以此类推,当进行到与第4个元素比较时,它们相等,...

    数据结构各章习题及答案

    1、线性结构中元素之间存在(一对一)关系,树型结构中元素之间存在(一对多 )关系,图型结构中元素之间存在(多对多)关系。 1、线性表的顺序存储结构是一种( A )的存储结构,线性表的链式存储结构是一种( B )...

    数据结构搜索&排序算法题.zip

    T3:【荷兰国旗问题】 设一个有 n 个字符的数组 A[n],存放的字符只有 3 种:R(红色)、W(白色)和 B(蓝色)。设计一个算法重新放置字符,让所有的 R排列在最前面,W 排列在中间,B 排列在最后。要求每个字符只...

    Link1_链表指针_

    创建链表,插入,删除。求两个集合的合并运算编程实现两个集合的并运算,即A=A∪B,要求分别采用数组与...解决该问题,可以从集合B中依次取得每个数据元素,将其中在集合A中依次查找,若不存在则在A集合中插入该元素。

    单元格“查找和替换”:在单元格数组中查找所有出现的 NaN 并替换它们。-matlab开发

    接受一个元胞数组和一个字符/整数,并将该元胞数组中所有出现的 NaN 替换为 'replaceWith' 值。 这在使用 'readfromexcel' 或其他 excel 导入器时特别有用,因为它们有时会放置 NaN 而不是空单元格。 用法示例: a...

    数据结构 于红 第一次

    1. 编写一个函数 bool FindValue(int* A, int n, int x),实现在数组A中查找x的操作;并编写main进行调用测试。 2. 编写一个函数 void BubbleSort(int* A, int n),实现对n个数据的冒泡排序;并编写main进行调用...

    数据结构期末练习题.doc

    顺序存储结构中数据元素之间的逻辑关系是由( C )表示的 A 线性结构 B 非线性结构 C 存储位置 D 指针 5. 单循环链表的主要优点是( B )。 A 不再需要头指针了 B 从表中任一结点出发都能扫描到整个链表; C 已知...

    c语言数据结构算法演示(Windows版)

    当拓扑排序不成功时,在演示屏的中央将会弹出一个窗口,显示提示信息“网中存在自环!”,此时用户可在左下显示的有向图中由绿色顶点和黑色弧构成的子图中找到这个环。 26. 有向图的关键路径 图示窗口包含5部分信息...

Global site tag (gtag.js) - Google Analytics