如何在java中将一个arraylist替换为另一个具有不同大小的arraylist

5 java arraylist

我有两个不同大小的数组列表.如何替换:

ArrayList<String> s = new ArrayList<String>();
ArrayList<String> f = new ArrayList<String>();
        s.add("Nepal");
        s.add("Korea");
        s.add("Sri Lanka");
        s.add("India");
        s.add("Pakistan");
        s.add("China");
        s.add("Australia");
        s.add("Bhutan");

        f.add("London");
        f.add("New York");
        f.add("Mumbai");
        f.add("sydeny");
for(int i=0;i<s.size();i++){
           // Collections.copy(f, s);
            f.addAll(s);
            Log.d("TAG", "Sources---" + s.get(i));
           Log.d("TAG", "Dest---" + f.get(i));
        }
Run Code Online (Sandbox Code Playgroud)

我试过这两个.但不能仅替换现有数组列表中的追加或复制.我的目标是完全取代原始数组到新的arraylist.

kos*_*osa 14

你可以先做clear(),然后做addAll(s);

clear()之后你的arraylist将是空的.

编辑:

正如@Luggi评论的那样,clear()如果list很大,那么不是一个好的选择,而只是将你的f引用指向new ArrayList with collection as parameter:示例:

f = new ArrayList(s);
Run Code Online (Sandbox Code Playgroud)

  • 甚至更容易:`f = new ArrayList(s);`.请注意,清除包含大量元素(如10k或更多)的列表比让GC完成其工作要慢. (4认同)