簡體   English   中英

如何在兩個字符串之間的數組列表中添加字符串

[英]How to add strings into an arraylist between two strings

我試圖弄清楚如何在已經存在的兩個字符串之間向字符串ArrayList中添加一個字符串。所以如果我有這個

ArrayList<String> List = new ArrayList<String>();
List.add("Yes");
List.add("No");
List.add("Maybe");

我將如何在它們之間放置單詞“ Or”並使ArrayList包含“ Yes”,“ Or”,“ No”,“ Or”,“ Maybe”?

根據將對象添加到ArrayList的指定索引處

List.add(1, "or") 
List.add(3, "or")

這應該可以解決您的問題。

我有三個建議。

首先,要命名變量,請以小寫字母開頭。

其次,使用List作為變量類型,而不是ArrayList,稍后您將感謝我,請相信我。

第三,要做你想要的,有重載的方法添加來選擇位置:

    List<String> list = new ArrayList<String>();
    list.add("Yes");
    list.add("No");
    list.add(1,"Maybe"); //insert into position 1 and shift everything to the right.

對於此示例,如果使用System.out.println(list); ,您將獲得以下輸出:

[Yes, Maybe, No]

為了添加Or指令,它是這樣的:

    List<String> list = new ArrayList<String>();
    list.add("Yes");
    list.add("No");
    list.add("Maybe");
    list.add(1, "Or");
    list.add(3, "Or");
    System.out.println(list);

輸出:

[Yes, Or, No, Or, Maybe]

另外,如果您想使程序更可重用,則可以編寫一個方法,該方法將在list的任何情況下為您完成:

public static void main(String[] args) {
    List<String> list = new ArrayList<String>();
    list.add("Yes");
    list.add("No");
    list.add("Maybe");
    list.add("Probably");
    list.add("Never");

    List<String> orList = addOr(list);
    System.out.println(orList);
}

public static List<String> addOr(List<String> list){
    List<String> newList = new ArrayList<>();
    int count = 0;
    for(String text : list){
        count++;
        newList.add(text);
        if (count != list.size()){
            newList.add("Or");
        }
    }
    return newList;
}

具有以下輸出:

[Yes, Or, No, Or, Maybe, Or, Probably, Or, Never]

但是,如果要使用該列表為用戶輸出某些消息,則添加“或”不是一個好主意,因為它實際上不是信息的一部分。 最好創建方法,該方法將創建所需的輸出String。

這段代碼

public static void main(String[] args) {
    List<String> list = new ArrayList<String>();
    list.add("Yes");
    list.add("No");
    list.add("Maybe");
    list.add("Probably");
    list.add("Never");

    String niceOutput = addOr(list);
    System.out.println("Choose from following options: " + niceOutput);
}   

public static String addOr(List<String> list){
    String orText = "";
    int count = 0;
    for(String text : list){
        count++;
        orText += '\'' + text + '\'';
        if (count != list.size()){
            orText += " or ";
        }
    }
    return orText;        
}

具有以下輸出:

Choose from following options: 'Yes' or 'No' or 'Maybe' or 'Probably' or 'Never'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM