我坚持使用此代码,因为我无法在t.contains
方法中搜索t列表。
public static <T> boolean contains(T element, List<T> t) {
if (t.isEmpty()){
return false;
} else if (t.contains(t) == element){
return true;
}
}
请帮忙。
答案 0 :(得分:3)
而不是
t.contains(t) == element
你可能想说
t.get(0) == element
检查第一个列表元素是否是您要查找的元素。排除后,你必须整理递归调用。这应该涉及
t.subList(1, t.size())
但请注意,这个习惯用法在Java中非常不切实际,会导致性能和内存开销不佳。
答案 1 :(得分:1)
将其更改为:
public static <T> boolean contains(T element, List<T> t) {
return t.isEmpty()? false
: t.get(0).equals(element)? true
: contains(t.subList(1, t.size()));
}