首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用阵列搜索NodeList

用阵列搜索NodeList
EN

Stack Overflow用户
提问于 2013-09-27 05:39:23
回答 2查看 77关注 0票数 0

我有一个文档,我正在搜索特定的实例,但是这些实例是由用户指定的,并且有多个实例。除了for循环中的for循环针对数组搜索Nodelist之外,是否有一种方法不让系统陷入困境呢?还是更简单的方法?

到目前为止,我的代码在抽象上如下所示:

代码语言:javascript
复制
public void sortDoc(Document doc){
    NodeList list = doc.getFirstChild().getChildNodes();
    ArrayList<String> typeList = otherSorter.getTypes();
    for(int i=0; i<list.getLength(); i++){
        for(int j=0; j<typeList.size(); j++){
            if(list.item(i).getNodeName()==typeList.get(j)){
                doTheThing();
            }
        }
    }
}

谢谢你能提供的任何帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-27 05:46:55

您可以使用List#contains(Object)检查ArrayList中的节点名。

代码语言:javascript
复制
for(int i=0; i<list.getLength(); i++){
    if(typeList.contains(list.item(i).getNodeName())){
         // Do Something.
    }
}

另外,

代码语言:javascript
复制
if(list.item(i).getNodeName()==typeList.get(j)) {

从未使用上述==运算符进行字符串值比较。

对于字符串值比较,始终使用equals()方法,如下所示:

代码语言:javascript
复制
if(list.item(i).getNodeName().equals(typeList.get(j))) {
票数 3
EN

Stack Overflow用户

发布于 2013-09-27 05:42:32

请参阅contains函数。

代码语言:javascript
复制
    public void sortDoc(Document doc){
        NodeList list = doc.getFirstChild().getChildNodes();
        ArrayList<String> typeList = otherSorter.getTypes();
        for(int i=0; i<list.getLength(); i++){
            if(typeList.contains(list.item(i)) {
                 //Do Thing
            }
        }
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19043404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档