如何将字符串添加到两个字符串之间的arraylist中

时间:2014-03-27 17:57:05

标签: java arraylist

我试图弄清楚如何在已经存在的两个字符串之间将字符串添加到字符串ArrayList中。所以如果我有这个

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

我如何在它们之间添加单词“Or”并使ArrayList包含 “是”“或”“否”“或”“可能”?

2 个答案:

答案 0 :(得分:2)

根据Add object to ArrayList at specified index

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

这可以解决您的问题。

答案 1 :(得分:2)

我有三个建议。

首先,要命名变量,请从小写字母开始。

其次,使用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]

此外,如果您想让您的程序更易于重复使用,您可以编写一个方法,无论如何都可以为您执行此操作:

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]

但是,如果您想使用该列表为用户输出某些消息,则添加&#34;或&#34;并不是一个好主意,因为它实际上不是信息的一部分。相反,创建方法很有用,它将创建您想要的输出字符串。

此代码

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'