两个集合遍历查找不重复

int[] tab1 = new int[]{2009,2010,2013};
int[] tab2 = new
int[]{2009,2010,2009,2010,2014};

//这里首先遍历表2
for(int i=0; i<tab2.length; ++i) {
//取出表2中的数据
int
elem2 = tab2[i];

boolean find = false;

//这里遍历表1
for(int j=0;j<tab1.length; ++j) {

//取出表1中的数据
int elem1 = tab1[j];

if(elem2 == elem1) {

//表2中的elem2在与表1中的elem1相等
//说明elem2在表1中,将find设置为true,然后跳出循环,找表1中的下一个数据
find
= true;

System.out.println("表2中数据 " + elem2 + " 在表1中,其数组下标为:" +
i);
break;
}
}

//在表1循环结束之后,如果find仍然为false的话,说明表2中的elem2
//在表1中没有被找到,即不存在
if(!find)
{
System.out.println("表2中数据 " + elem2 + "在表1中不存在!");
}

时间: 2024-08-10 10:54:48

两个集合遍历查找不重复的相关文章

JAVASE02-Unit05: 集合操作 —— 查找表

Unit05: 集合操作 -- 查找表 使用该类测试自定义元素的集合排序 package day05; /** * 使用该类测试自定义元素的集合排序 * @author adminitartor * */ public class Point implements Comparable<Point>{ private int x; private int y; public Point(int x, int y) { super(); this.x = x; this.y = y; } pub

爪哇国新游记之二十五----图及其遍历查找

代码: import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Set; // 顶点类 class Vertex{ String name;// 名称 boolean visited;// 是否已访问

Java里面如何求两个集合的交集

在Python里,或许我们没有这个烦恼,因为python里已经为我们提供了intersection这样的方法. 但是在Java里,就需要我们动一番脑筋了.这里浓重推荐下apache的CollectionUtils工具类. 方法签名如下所示: org.apache.commons.collections.intersection(final Collection a, final Collection b) 那么这个方法是怎么实现的呢?这里以list为例 public class TestInte

关于如何对两个 集合的数值进行比较

又到水的时间了,-.-  先讲下今天 在工作上遇到一个的问题吧! 其实相对的来说很简单 就是如同标题一样,因为我是在用Linq写,所以卡了下 顺便百度了下,首先假设 有一张学生表 和 课程表, 一个学生能选多个课程 所以在这里学生和课程表 是一对多的,而我现在 选择了 信息 数学 历史 这3门课程 去查没有选择过这三门课程的学生 以下 是代码:               var sc = from s in Entites.Students                       sele

Java集合遍历性能

数据在内存中主要有两种存储方式: 1.顺序存储,Random Access(Direct Access) 这种方式,相邻的数据元素存放于相邻的内存地址中,整块内存地址是连续的,可以根据元素的位置直接计算出内存地址,直接进行读取.读取一个特定位置元素的平均时间复杂度为O(1).正常来说,只有基于数组实现的集合,才有这种特性.Java中以ArrayList为代表. 2.链式存储,Sequential Access: 这种方式,每一个数据元素,在内存中都不要求处于相邻的位置,每个数据元素包含他的下一个

ios中集合遍历方法的比较和技巧

本文原文发表自我的[自建博客],cnblogs同步发表,格式未经调整,内容以原博客为准 我是前言 集合的遍历操作是开发中最常见的操作之一,从C语言经典的for循环到利用多核cpu的优势进行遍历,开发中ios有若干集合遍历方法,本文通过研究和测试比较了各个操作方法的效率和优略势,并总结几个使用集合遍历时的小技巧. ios中常用的遍历运算方法 遍历的目的是获取集合中的某个对象或执行某个操作,所以能满足这个条件的方法都可以作为备选: 经典for循环 for in (NSFastEnumeration)

Hoj1412 求两个集合的和{A} + {B}——java实现最优解的辛酸路

写在前面 寒假闲来无事,突发奇想,想A俩题玩玩,许久没A过题了,想想那手指暴力敲击键盘的感觉就是一阵酸爽啊. 做的前几个题还挺顺溜,大概半个小时一个题吧,A了三四个,谁知道到第五个卡这了. 一个看上去很简单的题楞是卡了我俩小时,不过结果还算不错. 打破了个记录,竟然一不小心成为了这个题的最优解....... 详细描述点击此处参见原题 大致就是: 给你两个集合,要求{A} + {B}. 注:同一个集合中不会有两个相同的元素. 辛酸分析路 (1)用Java自带的工具 因为本身是玩Java的,首先想到

List、Set、Map常见集合遍历总结

Java中的集合有三大类,List.Set.Map,都处于java.util包中,List.Set和Map都是接口,不能被实例化,它们的各自的实现类可以被实例化.List的实现类主要有ArrayList,Set的实现类主要有HashSet和TreeSet,Map的实现类主要有HashMap和TreeMap. List中的对象有序,可以重复,允许按照对象在集合中的索引位置检索对象,如通过list.get(i)方式来获得List集合中的元素. Set中的对象无序,不可以重复.但它的有些实现类能对集合

C# 判断两个集合(List)是否相等

1.两个list如果有重复元素(如List1: a,b,a  List2: b,b,a) 是无法通过包含关系来判断是否相等的. 有两个办法,其一是两个List排序后再按顺序比较.另一个办法就是计算各元素的重复项再进行比较 第一种方案劣势太明显,时间复杂度过大 第二种以空间换时间,只需要遍历无需排序即可. /// <summary> /// 判断两个集合是否是相等的(所有的元素及数量都相等) /// </summary> /// <typeparam name="T&