gpt4 book ai didi

java - 如何比较两个不同大小的数组列表并检查元素的顺序

转载 作者:行者123 更新时间:2023-11-30 10:07:27 24 4
gpt4 key购买 nike

我如何比较两个不同大小的数组列表并检查元素的顺序?

1.首先检查ArrayList1是list2的子集

2.第二次检查ArrayList2与List1的顺序相同,忽略随机元素

Arraylist1{"this", "is", "a", "coding", "test"};
Arraylist2{"this", "is", "random1", "a", "random2", "coding", "random3", "test"};

如果 List2 是这样的顺序,测试将通过:

"this" "is" "a" "coding" "test" 

如果列表 2 有任何其他顺序,则测试将失败:

“a”、“is”、“coding”、“test”、“this”,或者缺少这 5 个词中的任何一个。

程序应该忽略列表 2 中任意数量的随机值(如 random1、random2 和 random3)。

我怎样才能实现这种情况?

我尝试了 for 循环和迭代器。它没有用,他们给了我两个 ArrayList 的共同元素,但没有给我“顺序”。我还能做什么?

  1. for 循环使用:

    list1.contains(list2.get(i)))

    但这只是比较值,并不检查顺序。

  2. 带有 while 循环的迭代器:

    Iterator<String> List1_Iterator = List1.iterator();


    while (List1_Iterator.hasNext()) {
    }

    这也不检查元素的顺序。

最佳答案

您也可以按照您的步骤执行此简单过程。1)比较元素。2) 比较顺序。

import java.util.*;
class Stack1
{
public static void main(String args[])
{
ArrayList<String> list=new ArrayList<String>();
list.add("First");
list.add("name");
list.add("is");
list.add("Jay");

ArrayList<String> list2=new ArrayList<String>();
list2.add("First");
list2.add("name");
list2.add("is");
list2.add("Sudeep");

ArrayList<String> list3=new ArrayList<String>();

for(int i=0;i<list2.size();i++)
{
for(int j=0;j<list.size();j++)
{
if(list2.contains(list.get(j))==true)
{
if(list2.get(i)==list.get(j))
{
list3.add(list2.get(i));
}
}
else{ break; }
}
}

if(list.equals(list3))
{
System.out.println("true");
}
else{System.out.println("false");}
}
}

关于java - 如何比较两个不同大小的数组列表并检查元素的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54280415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com