有两个数组 M N ,M数组里面有N数组的元素。请问怎么样用最少的循环找出相同的元素 (据说是哈希表方法)
解决方案 »
- swing中为什么把JTextArea放在JPanel中不显示?
- 求高手解决字符串截取的问题
- 新手求助-有关信息隐藏
- 能否让一个虚拟机实例里的运行的应用程序所调用的类运行在另一个虚拟机实例里?
- 给学Java的大学生们分享一些经验-----请作者Ant_Yan看36楼回复
- 在提示工具中如何加入图标??
- 未装jre情况下,怎么做.jar包?
- 使用jacob实现word替换时,为什么不能连续替换?!代码如下!请大侠指点!
- 请问什么时候该用“class classname extends Object?
- 已存在一个byte型的数组,存入的是一串double型的数值,如何把它再还原成double型的数值?
- 求一个诸如满足2010-5-16格式的正则表达式,在线等!!!
- 文件写出操作
建立一个新HashSet,先把M全放进去。然后用add()方法把N的元素一个一个放进去,判断为FALSE就放入结果集
import java.util.HashSet;
import java.util.List;
import java.util.Set;public class NumberTest {
public static Set getSameNumber(Object[] m, Object[] n) {
HashSet result = new HashSet();
List list = Arrays.asList(m);
for (int i = 0; i < n.length; i++) {
if (list.contains(n[i])) {
result.add(n[i]);
}
}
return result;
} public static void main(String[] args) {
Integer[] m ={ 1, 45, 123, 55, 11, 1, 4234, 2, 223 };
Integer[] n ={ 2, 415, 123, 55, 11, 4, 2, 33, 2 };
Set set = getSameNumber(m, n);
System.out.println(set);
}
}
输出结果:[2, 55, 11, 123]