Java 迭代时是否使用arraylist或其他集合

Java 迭代时是否使用arraylist或其他集合,java,collections,Java,Collections,我有两个配置文件,分别是SignProfile和ValidationProfile。例如,这些配置文件可以超过1个 SignProfile.size >1 and ValidationProfile.size>1 现在,每当SignProfile和ValidationProfile不null时,我必须执行一段代码,如果签名和验证的配置文件不止一个,我也需要遍历这些配置文件 我正在使用 List<SignProfile> SP = new ArrayList<&g

我有两个配置文件,分别是
SignProfile
ValidationProfile
。例如,这些配置文件可以超过1个

SignProfile.size >1 and  ValidationProfile.size>1
现在,每当
SignProfile
ValidationProfile
null
时,我必须执行一段代码,如果签名和验证的配置文件不止一个,我也需要遍历这些配置文件

我正在使用

List<SignProfile> SP = new ArrayList<>;
List<ValidationProfile> Vali = new ArrayList<>;
while SP_interator.hasnext
{
    while Vali_interator.hasnext
    {
        // do something
    }
    // Piece of code
}
List SP=newarraylist;
List Vali=新阵列列表;
而SP_interator.hasnext
{
而Vali_interator.hasnext
{
//做点什么
}
//一段代码
}
现在我面临的问题是,有时候SignProfile是
null
,但ValidationProfile不是
null
。因此,根据上述代码,不执行预期的代码段


有人能给我引路吗?我要用别的收藏品吗?

这就是你的意思吗

if (signProfiles != null && validationProfiles != null) {

    for (SignProfile signProfile : signProfiles) {
        //do something with signProfile
    }

    for (ValidationProfile validationProfile : validationProfiles) {
        //do something with validationProfile
    }
}
或者嵌套版本

if (signProfiles != null && validationProfiles != null) {

    for (SignProfile signProfile : signProfiles) {
        //do something with signProfile

        for (ValidationProfile validationProfile : validationProfiles) {
        //do something with validationProfile, and signProfile?
        }
    }
}

如果您使用的是Java 5或更高版本,则可以使用foreach语法:

List<SignProfile> signProfileList = new ArrayList<>;
List<ValidationProfile> validationProfileList = new ArrayList<>;

if(signProfileList != null) {
  for(SignProfile sp : signProfileList) {
    // you can work with the sp variable here, which represents the current item from signProfileList
    if(validationProfileList != null) {
      for(ValidationProfile vp : validationProfileList) {
        // you can work with vp variable here, which represents the current item from validationProfileList
      }
    }
  }
}
List signProfileList=newarraylist;
List validationProfileList=新建ArrayList;
if(signProfileList!=null){
用于(SignProfile sp:SignProfile列表){
//您可以在此处使用sp变量,该变量表示signProfileList中的当前项
如果(validationProfileList!=null){
for(ValidationProfile vp:validationProfileList){
//您可以在此处使用vp变量,该变量表示validationProfileList中的当前项
}
}
}
}
注意:我已经重命名了一些变量,以使代码更加清晰


顺便问一下,你确定要这些嵌套的吗?它们似乎彼此不相关。

为什么要在嵌套循环中进行,它们是如何相关的?