使用列表P显示列表的值

时间:2014-03-04 05:04:43

标签: java linked-list

这是一个简单的硬件问题,以下是我的代码:

您将获得一个列表L和另一个列表P,其中包含按升序排序的整数。操作printLots(L,P)将打印L中由P指定的位置中的元素。例如,如果P = 1,3,4,6,则位于L,位置1,3,4和6中的元素印刷。编写程序printLots(L,P)。您只能使用公共集合API容器操作

我的代码:

import java.util.Arrays;
import java.util.LinkedList;

public class Lists {

    public static void main(String[] args){
        LinkedList<Integer> L = new LinkedList<Integer>();
        LinkedList<Integer> P = new LinkedList<Integer>();



        L.addAll(Arrays.asList(4,9,13,50,65,87,91,99));

        P.addAll(Arrays.asList(1,3,4,6));


        int sample=L.indexOf(P);


        System.out.println(L);
        System.out.println(P);
        System.out.println(sample);

    }
}

输出:

[4, 9, 13, 50, 65, 87, 91, 99]

[1, 3, 4, 6]

-1

我对几件事感到困惑...如果我正在使用LinkedLists,为什么要将数组包含在代码中?

另外,如何显示相应P位置的L值? :)

3 个答案:

答案 0 :(得分:2)

我没有得到这条线的用途

int sample=L.indexOf(P);

试试这个,而不是那条线

int sample=P.size();
for(int i=0;i<sample;i++){
    System.out.println(L.get(P.get(i)));
}

输出

9 50 65 91

答案 1 :(得分:1)

ArrayList<Integer>L = new ArrayList<Integer>(Arrays.asList(4,9,13,50,65,87,91,99));
ArrayList<Integer>P = new ArrayList<Integer>(Arrays.asList(1,3,4,6));

for(Integer current: P){
    System.out.print(L.get(current)+" ");
}

输出:9 50 65 91

答案 2 :(得分:0)

    int[] L = {1, 3, 4, 6};
    int[] P = {5, 7, 2, 1, 5, 2, 3, 5, 8};

    for(int e : L) {
        System.out.println(P[e]);
    }

输出:7 1 5 3