Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将字符串添加到两个字符串之间的arraylist中_Java_Arraylist - Fatal编程技术网

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

Java 如何将字符串添加到两个字符串之间的arraylist中,java,arraylist,Java,Arraylist,我试图找出如何将字符串添加到字符串ArrayList中,在已经存在的两个字符串之间。所以如果我有这个 ArrayList<String> List = new ArrayList<String>(); List.add("Yes"); List.add("No"); List.add("Maybe"); 我将如何在它们之间放置单词Or,并使ArrayList包含 是或否或可能?根据 这将解决您的问题。根据 这应该能解决你的问题。我有三条建议 首先,要命名变量,请从小写字

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

ArrayList<String> List = new ArrayList<String>();
List.add("Yes");
List.add("No");
List.add("Maybe");
我将如何在它们之间放置单词Or,并使ArrayList包含 是或否或可能?

根据

这将解决您的问题。

根据

这应该能解决你的问题。

我有三条建议

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

第二,使用列表作为变量类型,而不是ArrayList,相信我,稍后您会感谢我的

第三,为了满足您的要求,有一个重载方法add用于选择位置:

    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.
对于添加或说明,如下所示:

    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);
此外,如果您想使程序更具可重用性,可以编写一个方法,该方法可用于列表的任何情况:

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;
}
然而,如果您想使用该列表为用户输出一些消息,那么添加或并不是一个好主意,因为它实际上不是信息的一部分。相反,创建方法是好的,它将创建您想要的输出字符串

此代码

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;        
}
我有三个建议

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

第二,使用列表作为变量类型,而不是ArrayList,相信我,稍后您会感谢我的

第三,为了满足您的要求,有一个重载方法add用于选择位置:

    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.
对于添加或说明,如下所示:

    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);
此外,如果您想使程序更具可重用性,可以编写一个方法,该方法可用于列表的任何情况:

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;
}
然而,如果您想使用该列表为用户输出一些消息,那么添加或并不是一个好主意,因为它实际上不是信息的一部分。相反,创建方法是好的,它将创建您想要的输出字符串

此代码

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;        
}

是的,但是它会将索引中已经存在的字符串向前推一次,以及它前面的所有字符串吗?是的,但是它会将索引中已经存在的字符串向前推一次,以及它前面的所有字符串吗?我相信在第二次添加中它需要是3。@CydrickT-你真的应该将该4更改为3,因为这不起作用。更改了它。谢谢你的通知。我相信在第二次添加中它必须是3。@CydrickT-你真的应该将它更改为3,因为这不起作用。更改了它。谢谢你的通知。谢谢你,你帮了我很多!谢谢你,你帮了我很多忙!
Choose from following options: 'Yes' or 'No' or 'Maybe' or 'Probably' or 'Never'