如何在java中从列表中检索特定元素?

如何在java中从列表中检索特定元素?,java,Java,我正在加载一个包含一些值的列表,例如config key和config value 我需要从列表中检索每个配置键的值,然后将这些值添加到另一个列表中 问题是,我的TO对象一次返回一个值,因为我在列表中循环,每次代码循环时,dcRaterName都会被覆盖,第二个列表将只有一个值,而不是全部值 我想将所有值添加到第二个列表中 List getDCRaterName= dasWebHandler.getDCRaterName(dasRequestTO); Iterator itr =

我正在加载一个包含一些值的列表,例如config key和config value

我需要从列表中检索每个配置键的值,然后将这些值添加到另一个列表中

问题是,我的TO对象一次返回一个值,因为我在列表中循环,每次代码循环时,
dcRaterName
都会被覆盖,第二个列表将只有一个值,而不是全部值

我想将所有值添加到第二个列表中

    List getDCRaterName= dasWebHandler.getDCRaterName(dasRequestTO);
    Iterator itr = getDCRaterName.iterator();
    
    while (itr.hasNext()) {
        DasConfigTO dasConfigTO = (DasConfigTO) itr.next();
        String dcRaterName = dasConfigTO.getConfigValue();
        List<String> raterList = new ArrayList<>();
        raterList.add(dcRaterName);
        dasRequestTO.setSelectedRatersDes(raterList);
    }
List getDCRaterName=dasWebHandler.getDCRaterName(dasRequestTO);
迭代器itr=getDCRaterName.Iterator();
while(itr.hasNext()){
DasConfigTO DasConfigTO=(DasConfigTO)itr.next();
字符串dcRaterName=dasConfigTO.getConfigValue();
List raterList=新建ArrayList();
raterList.add(dcRaterName);
dasRequestTO.setselectedatersdes(raterList);
}

您应该将
速率列表的创建移动到循环之前,并将其设置在循环之后的
dasRequestTO中:

    List<DasConfigTO> getDCRaterNames = dasWebHandler.getDCRaterName(dasRequestTO);
    List<String> raterList = new ArrayList<>();

    for (DasConfigTO dasConfigTO : getDCRaterNames) {
        raterList.add(dasConfigTO.getConfigValue());
    }

    dasRequestTO.setSelectedRatersDes(raterList);

List getDCRaterName=dasWebHandler.getDCRaterName(dasRequestTO);
List raterList=新建ArrayList();
for(DasConfigTO DasConfigTO:getDCRaterNames){
add(dasConfigTO.getConfigValue());
}
dasRequestTO.setselectedatersdes(raterList);

您应该将
速率列表的创建移动到循环之前,并将其设置在循环之后的
dasRequestTO中:

    List<DasConfigTO> getDCRaterNames = dasWebHandler.getDCRaterName(dasRequestTO);
    List<String> raterList = new ArrayList<>();

    for (DasConfigTO dasConfigTO : getDCRaterNames) {
        raterList.add(dasConfigTO.getConfigValue());
    }

    dasRequestTO.setSelectedRatersDes(raterList);

List getDCRaterName=dasWebHandler.getDCRaterName(dasRequestTO);
List raterList=新建ArrayList();
for(DasConfigTO DasConfigTO:getDCRaterNames){
add(dasConfigTO.getConfigValue());
}
dasRequestTO.setselectedatersdes(raterList);

也许你应该举例说明你的问题。是否需要列表中的所有
dasConfigTO.getConfigValue()
值?假设“Hello”,getConfigValue返回一个值。这将添加到raterList中。当代码进行第二次迭代时,这个值被suppsoe“Word”覆盖,我的列表将添加world。我想在我的列表中添加两个值Hello,world。然后只需在循环外声明
list raterList
,循环后您将得到包含所有值的列表。也许您应该通过给出一个示例来澄清您的问题。是否需要列表中的所有
dasConfigTO.getConfigValue()
值?假设“Hello”,getConfigValue返回一个值。这将添加到raterList中。当代码进行第二次迭代时,这个值被suppsoe“Word”覆盖,我的列表将添加world。我想在我的列表中添加两个值Hello,world。然后只需在循环外声明
list raterList
,循环后您将得到包含所有值的列表。