连接两个列表

时间:2018-10-30 05:41:33

标签: java arrays list generics

我正在尝试制作一个简单的程序,该程序需要两个列表并将它们连接在一起。我似乎无法弄清楚使这项工作有效的逻辑。不起作用的部分是:return语句。

import java.util.ArrayList;
public class ListConcatenate {
public static void main(String[] args) {


List<String> list = new List<>();
List<String> secondList = new List<>();
list.insertAtFront("Hello");
list.insertAtBack("World");
secondList.insertAtFront("it's");
secondList.insertAtFront("me");
}
public static<E> List<E> concatenate(List<E> list, List<E> secondList){


    //List<E> newList = new List<>();


    return new ArrayList<E>(){{
        addAll(list);
        addAll(secondList);
    }};
    }




}

3 个答案:

答案 0 :(得分:0)

为什么不使用List :: addAll

list.addAll (secondList); return list;

请参见https://www.geeksforgeeks.org/java-util-arraylist-addall-method-java/

答案 1 :(得分:0)

List是一个界面。您无法实例化List。使用ArrayList

public static void main(String[] args) {

    List<String> list = new ArrayList<>();
    List<String> secondList = new ArrayList<>();
    list.add("Hello");
    list.add(0, "World");
    secondList.add("it's");
    secondList.add("me");
    concatenate(list, secondList).forEach(System.out::println);
  }

  public static <E> List<E> concatenate(List<E> list, List<E> secondList) {
    List<E> newList = new ArrayList<>();
    newList.addAll(list);
    newList.addAll(secondList);
    return newList;
  }

答案 2 :(得分:0)

我想指出一些事情。 正确使用运行时多态性。您无法实例化接口。

如果要在前面插入内容,请使用采用index和element的add方法。如果要在后面插入内容,只需使用add方法。我尝试编辑您的代码,它似乎工作得很好。祝好运! 到这里:

import java.util.ArrayList;
import java.util.List;
public class ListConcatenate {
public static void main(String[] args) {


List<String> list = new ArrayList<>();
List<String> secondList = new ArrayList<>();
list.add(0,"Hello");
list.add("World");
secondList.add(0,"it's");
secondList.add(0,"me");
List<String> result = concatenate(list,secondList);
for(String s : result ) {
    System.out.println(s);
}
}
public static<E> List<E> concatenate(List<E> list, List<E> secondList){


    //List<E> newList = new List<>();


    return new ArrayList<E>(){{
        addAll(list);
        addAll(secondList);
    }};
    }




}
相关问题