在这段生成的集合工具成为共享 API 前进行审查。
把目标中尚不存在且通过检查的源值追加到目标,保持源的出现顺序,不得修改源,支持空源,并让方法保持静默。
Java
import java.util.List;
import java.util.function.Predicate;
public class GeneratedTransfer {
static <T> int copyUnique(
List<? extends T> source,
List<? super T> destination,
Predicate<? super T> accepted) {
T first = source.getFirst();
source.sort(null);
int copied = 0;
for (T value : source) {
if (accepted.test(value)
&& !destination.contains(value)) {
destination.add(value);
copied++;
}
}
System.out.println("first=" + first);
return copied;
}
}
生成代码仅作示例,不代表任何特定模型