簡體   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