Java 检查一个数组中的所有值是否存在于另一个数组中

Java 检查一个数组中的所有值是否存在于另一个数组中,java,arrays,Java,Arrays,我有两个数组,分别是original[]和input[]。 在第一个数组中,我有3个值 1 2 3 在第二个数组中,我给出了2个值 2 3 我想检查第一个数组中是否存在这两个值 我该怎么做 我想检查这两个值 在第一个数组中存在,如何 我做这个 迭代第二个数组,并对照第一个数组的元素进行检查 Integer original[] = {1,2,3}; Integer input[] = {2,3}; if (Arrays.asList(original).containsAll(Arr

我有两个数组,分别是original[]和input[]。 在第一个数组中,我有3个值

1 
2 
3
在第二个数组中,我给出了2个值

2 
3
我想检查第一个数组中是否存在这两个值 我该怎么做

我想检查这两个值 在第一个数组中存在,如何 我做这个

迭代第二个数组,并对照第一个数组的元素进行检查

Integer original[] = {1,2,3};
Integer input[] = {2,3};

if (Arrays.asList(original).containsAll(Arrays.asList(input)))
{
    System.out.println("Yup, they're in there!");
}

请注意,这在基元(int)数组上不起作用;您必须将它们放入
Integer
对象中。如果你的数组是
String[]
你就是黄金

如果对较大的数组进行了排序,请查看中的binarySearch方法


遍历第二个数组并搜索数组中的每个数组。

如果您对查询“我的数组中是否包含值X?”感兴趣,则可能需要考虑切换数据结构。数组适合于按顺序存储元素的有限列表,数组元素的主要属性是它们的位置。如果您希望存储元素以便轻松检查给定元素是否存在,我强烈建议切换到将元素存储在
集中,因为此接口更自然地支持此想法。此外,
HashSet
TreeSet
都可以比标准的数组搜索更快地执行查找查询


也就是说,如果您必须坚持使用数组,那么这里的任何其他答案都应该是完美的。我建议您首先重新评估是否应该使用数组。

获取第一个数组,从第二个数组中获取一个元素,然后在其上应用搜索逻辑,并重复此操作,直到最后一个元素未完成。您将从该链接获得如何在数组中进行搜索的帮助。

for(int i=0;iGah,抱歉-正在从内存执行此操作,内存出现故障。。。editing@Xan:如果OP询问一些代码,此问题将被关闭。可能他没有检查他的电子邮件?或者他不在乎?
for(int i=0;i<=orignal.length;i++) {
 if(orignal[0]==input[i] | orignal[0]==input[++i]) {
    System.out.println("Yup, they're in there!");
 }
}