数组中的Java测试元素[重复]

问题描述 投票:0回答:2

可能重复:
在Java中,如何测试数组是否包含某个值?

我正在尝试做一种:

for(String s : myArray)
{
    if(s is in newArray) //how do you test this? i want something like
                        //if(newArray.indexOf(s)!=-1)
    {
        //do nothing
    }
    else
    {
        //add to newArray
    }
}

有人可以帮忙吗?

java arrays search for-loop element
2个回答
3
投票
if(newArray.contains(s))
{
    // Do nothing
}
else
{
    // Add to newArray
}

2
投票

不能随意向数组添加项目,因为数组的大小是固定的。您需要先将数组转换为列表,然后将项目添加到列表中,最后将列表转换回数组:

List<String> tmp = new ArrayList<String>(Arrays.asList(newArray));
for(String s : myArray) {
    if(!tmp.contains(s)) {
        tmp.add(s);
    }
}
newArray = tmp.toArray(new String[tmp.size()]);
© www.soinside.com 2019 - 2024. All rights reserved.