繁体   English   中英

使用Java中的单个for-each循环遍历多个列表

[英]Iterating through multiple lists using single for-each loop in java

我创建了多个列表,如下所示

static List<String> dbName = new ArrayList<String>();
    static List<String> dbServerName = new ArrayList<String>();
    static List<String> lDbName = new ArrayList<String>();
    static List<String> lServerName = new ArrayList<String>();
    static List<String> serverName = new ArrayList<String>();
    static List<String> dbServerNameSecondary = new ArrayList<String>();

是否可以使用单个for-each循环遍历所有列表对象,如下所示

用于(dbName,dbServerName中的项目...)

我想进行并行处理,并将获得的值放在下面的查询中

字符串放置=“如果存在表,则删除表” + hive_db +“。” +“ IB_C3 _” + dbName +“ _” + dbServerName;

是的, 假设列表大小相同 ,则可以使用标准的for循环并行地对其进行迭代:

static List<String> dbName = new ArrayList<String>();
static List<String> dbServerName = new ArrayList<String>();
static List<String> lDbName = new ArrayList<String>();
static List<String> lServerName = new ArrayList<String>();
static List<String> serverName = new ArrayList<String>();
static List<String> dbServerNameSecondary = new ArrayList<String>();

// code filling lists here

for (int i = 0; i < dbName.size(); i++) {
    // dbName.get(i)
    // ...
    // dbServerNameSecondary.get(i)
}

但是,如果列表大小相同,则强烈建议使用Java的面向对象功能。 这意味着为值创建一个类。

public class Database {
    private String dbName;
    private String dbServerName;
    private String lDbName;
    private String lServerName;
    private String serverName;
    private String dbServerNameSecondary;
    // getters and setters here
}

static List<Database> databases = new ArrayList<>();

// code filling list here

for (Database database : databases) {
    // database.getDbName()
    // ...
    // database.getDbServerNameSecondary()
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM