Java 方法仅在集合中使用
问题 给您一个列表L和另一个列表p,其中包含按升序排序的整数。printLots(L,P)操作将打印位于P指定位置的L中的元素。例如,如果P=1,3,4,6,则打印位于L中位置1,3,4和6的元素。编写程序printLots(L,P)。您提供的代码应该是java方法本身(不是伪代码),不需要包含类。 只能使用列表L和P继承的公共集合方法。不能使用仅在列表中的方法。收集方法返回的任何内容都是公平的,因此您可能会考虑如何使用迭代器 大家好,首先是问题的一部分。我对它的意思很困惑。我对收藏和清单不是很熟悉。那么,这个要求是否意味着我不能使用get()之类的方法,而必须使用迭代器呢 这是我的密码:Java 方法仅在集合中使用,java,Java,问题 给您一个列表L和另一个列表p,其中包含按升序排序的整数。printLots(L,P)操作将打印位于P指定位置的L中的元素。例如,如果P=1,3,4,6,则打印位于L中位置1,3,4和6的元素。编写程序printLots(L,P)。您提供的代码应该是java方法本身(不是伪代码),不需要包含类。 只能使用列表L和P继承的公共集合方法。不能使用仅在列表中的方法。收集方法返回的任何内容都是公平的,因此您可能会考虑如何使用迭代器 大家好,首先是问题的一部分。我对它的意思很困惑。我对收藏和清单不是很
public static void printLots(List<Integer> L, List<Integer> P){
int size = L.size;
for(int i=0; i<P.size; i++){
int pos = P.get(i);
if(P.get(i) <= size){
int val = L.get(pos);
System.out.println(val);
}
else{
System.out.println("It has exceeded the number of elements in L");
}
}
}
公共静态无效打印批次(列表L、列表P){
int size=L.size;
对于(int i=0;iNo),不能使用List.get(idx)
我想他们是想让你考虑一种更“有趣”的方法。Collection
在技术上定义了一种你可以使用的toArray
方法,但这可能违背了你所设定的问题的精神
Collection
还有一个contains
方法,因此您可以迭代第一个列表,增加一个计数器,然后每次查看第二个列表是否包含该索引。如果是,则打印它。这是一种非常低效的方法,但可以解决问题
我建议将参数声明改为集合
,这样编译器就可以防止您意外使用列表中存在的方法
我怀疑您是对的,并且不允许使用.get(int)
由于p
中的位置是按升序给出的,因此可以很容易地使用迭代器并保留当前“迭代于”的元素计数器。计数器也是严格升序的
“欺骗”是使用.toArray()
并在其中使用索引访问:)澄清作业含义的最佳方式是询问您的讲师。我们只能猜测他/她是什么意思。您对这些说明的含义感到困惑……您应该询问您的教授,而不是我们。如果您尝试实施此操作但不起作用,那就是我们可以提供帮助的时候。将列表更改为集合n
。然后编译器将强制您只使用集合中的方法。非常感谢!但是如果我不能使用get方法,如何在给定索引的链接列表中获取元素?您仍然可以使用contains
,因此使用迭代器循环列表中的所有可能值L
nd每次查看另一个列表是否包含它。这不需要get
,而是使用迭代器