在android中将子列表搜索到另一个列表中

在android中将子列表搜索到另一个列表中,android,arrays,Android,Arrays,例如,有两个列表(数组列表)A和B。 A的长度(尺寸)为10,长度(尺寸)为100。 A的所有项都存在于B中。我想得到B中的索引位置,即A中的索引位置 A[ { id = 10, name = "a" }, { id = 22, name = "b" }, { id = 30, name = "c" }, { id = 45, name = "d" }, {

例如,有两个列表(数组列表)A和B。 A的长度(尺寸)为10,长度(尺寸)为100。 A的所有项都存在于B中。我想得到B中的索引位置,即A中的索引位置

A[
    {
        id = 10, name = "a"
    },
    {
        id = 22, name = "b"
    },
    {
        id = 30, name = "c"
    },
    {
        id = 45, name = "d"
    },
    {
        id = 55, name = "e"
    },
    ...
]

B[
    {
        id = 1, name = "xx"
    },
    {
        id = 2, name = "yy"
    },
    ...
    {
        id = 10, name = "a"
    },
    {
        id = 11, name = "zz"
    },
    ...
    {
        id = 22, name = "b"
    },
    ...,
    {
        id = 100, name = "hello"
    }
]
我想索引B中的项目位置。我使用两个for循环。但这需要时间。 如果有任何方法可以使用一个for循环或任何其他方法来搜索这些项目。

您可以使用一个来存储两个中较大的数组。这样,您只需迭代较小的数组,检查当前对象是否存在于in O(1)中,这将使您的总复杂度为O(n),其中n是较小数组的维数