Java 将数据移动到不同的方法

Java 将数据移动到不同的方法,java,arrays,arraylist,methods,Java,Arrays,Arraylist,Methods,我多次试图找出如何在子方法中保存数据。 例如,下面的代码正在创建字符串数组,然后将数组移动到arraylist五次。如何使程序保存所有字符串5次。换句话说,如果我打印出数组列表newList,如何获得以下输出 word0,word1,word2,word3,word4,word0,word1,word2,word3,word1,word2,word3,word1,word2,word3,word4,word0,word1,word2,word3,word4 publicstaticvoidmai

我多次试图找出如何在子方法中保存数据。 例如,下面的代码正在创建字符串数组,然后将数组移动到arraylist五次。如何使程序保存所有字符串5次。换句话说,如果我打印出数组列表
newList
,如何获得以下输出

word0,word1,word2,word3,word4,word0,word1,word2,word3,word1,word2,word3,word1,word2,word3,word4,word0,word1,word2,word3,word4

publicstaticvoidmain(字符串[]args){
字符串[]列表=新字符串[5];
for(int i=0;i
您需要在方法外部静态地存储它

public class Test
{
    static List<String> newList = new ArrayList<>();

    public static void main(String[] args)
    {
        String[] list = new String[5];
        for (int i = 0; i < list.length; i++) {
            list[i] = "word" + i;
        }
        for (int i = 0; i < 5; i++) {
            experiment(list);
        }

        System.out.println(newList);
    }

    public static void experiment(String[] list)
    {
        List<String> arrList = new ArrayList<>();
        for (int i = 0; i < list.length; i++) {
            arrList.add(list[i]);
        }
        saveItAll(arrList);
    }

    public static void saveItAll(List<String> counter)
    {
        newList.addAll(counter);
    }
}
公共类测试
{
静态列表newList=newarraylist();
公共静态void main(字符串[]args)
{
字符串[]列表=新字符串[5];
for(int i=0;i
这里的另一个词是:您不需要saveItAll方法,因为addAll也在这里完成这项工作。然后您通常不使用具有实现类型的列表,您通常使用接口来定义它的类型,以便实现可以切换。这就是接口的用途

public class Test
{
    static List<String> newList = new ArrayList<>();

    public static void main(String[] args)
    {
        String[] list = new String[5];
        for (int i = 0; i < list.length; i++) {
            list[i] = "word" + i;
        }
        for (int i = 0; i < 5; i++) {
            experiment(list);
        }

        System.out.println(newList);
    }

    public static void experiment(String[] list)
    {
        List<String> arrList = new ArrayList<>();
        for (int i = 0; i < list.length; i++) {
            arrList.add(list[i]);
        }
        saveItAll(arrList);
    }

    public static void saveItAll(List<String> counter)
    {
        newList.addAll(counter);
    }
}