首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

两个数组觅相同元素

2013-02-24 
两个数组找相同元素现有 数组A与数组B 两个数组中都放的是对象O, 对象O有id 与 name 两个属性,判断两个O是

两个数组找相同元素
现有 数组A  与  数组B 
两个数组中都放的是对象O, 对象O有id 与 name 两个属性,判断两个O是否为同一个对象,根据属性name来判断。
要求:通过高效的算法,找出A、B中相同的对象,并输出相互对应的id , 如:
1 - 4
2 - 3 
5 - 6 

[解决办法]
import java.io.IOException;
public class Test1 {

/**
 * @param args
 * @throws IOException 
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p1=new Person();
p1.setName("zhangsan");

Person p2=new Person();
p2.setName("zhangsan");

Person[] o1={p1};
Person[] o2={p2};
for(int i=0;i<o1.length;i++){
for(int j=0;j<o2.length;j++){
if(o1[i].getName().equals(o2[j].getName())){
System.out.println("相等的对象在两个数组中分别的下标为:"+i+":"+j);
}
}
}


}

}

[解决办法]
重写equal和hashcode方法,使用Array.sort();就可以啦
[解决办法]
重写equal和hashcode方法,使用Array.sort();就可以啦 
[解决办法]
最高效的方法应该是对一个数组中的元素建立哈希表,然后遍历另一个数组的元素吧
[解决办法]

引用:
最高效的方法应该是对一个数组中的元素建立哈希表,然后遍历另一个数组的元素吧

要看数据的规模了。。。

热点排行