Java 关于从源列表中选择三个元素并在第一个元素本身中添加到目标列表

Java 关于从源列表中选择三个元素并在第一个元素本身中添加到目标列表,java,collections,Java,Collections,在一次采访中,有人问了一个问题,假设有一个名为A的数组列表,其中4个元素的值为67,34,56,78,那么创建另一个名为B的数组列表,该数组列表由2个元素组成。以这种方式开发一个程序,以便将前一个数组列表A的前三个元素插入数组列表B,如下所示 Arraylist A ---> 67,34,56,78 (having size of 4) Arraylist B ----> 67,34,56(shoud be stored in very first element of arr

在一次采访中,有人问了一个问题,假设有一个名为A的数组列表,其中4个元素的值为67,34,56,78,那么创建另一个名为B的数组列表,该数组列表由2个元素组成。以这种方式开发一个程序,以便将前一个数组列表A的前三个元素插入数组列表B,如下所示

Arraylist A  ---> 67,34,56,78 (having size of 4)
Arraylist B   ----> 67,34,56(shoud be stored in very first element of array list itself) and 56 in next element (so total size is of arraylist B is 2)
interviwer还补充说,由于这一次被告知arraylist A在开始时将有4个元素,但制作另一个通用类型的程序意味着它将永远不会被告知列表中最初有多少元素,但您必须创建另一个列表,并且始终从sourcelist中选择前三个元素,并将其放入第一个元素内部的另一个列表中,并将源列表的剩余一个元素作为第二个列表中的下一个元素


请告知如何实现这一点,以及如何选择3个元素对并将其添加到目标列表中

这是最简单的方式。。您可以使其更有效率:

    final List<String> first = new ArrayList<String>() {
        {
            add("67");
            add("34");
            add("56");
            add("78");
        }
    };

    final List<Object> second = new ArrayList<Object>();

    // add first 3 elements to the second
    final List<String> temp = new ArrayList<String>();
    for(int i=0; i<3; i++) {
        temp.add(first.get(i));
    }

    second.add(temp);
    second.add(first.get(3));
final List first=new ArrayList(){
{
添加(“67”);
添加(“34”);
添加(“56”);
添加(“78”);
}
};
最终列表秒=新的ArrayList();
//将前3个元素添加到第二个元素
最终列表温度=新的ArrayList();
对于(inti=0;i这可能更简单

public class SO {

    public static void main(String[] args) throws IOException,
            InterruptedException {
        ArrayList<Integer> a = Lists.newArrayList(67, 34, 56, 78);
        ArrayList<Integer> b = Lists.newArrayList();
        b.addAll(a.subList(0, 3));
        System.out.println(b);

    }
}

到目前为止你尝试了什么?我不知道该用哪种算法
[67, 34, 56]