我想问一下如何实现这一点:input:列表<列表>,输出:字符列表。示例:((a,b(,(f,g(,((,(k((--->(a,b,&,f,g,&&,k(在两个列表之间应该有一个&,例如((a,b(,(f,g((--->(a,b,&,f,g(,如果列表if((,则作为示例((f,g,((,(k((->(f,g,&,&,k(有两个&;,因为在(f,g(,((之间应该放一个&,并且在((,(k(之间应该放一个&。(我已经学会了如何检查异常,但为了解决这部分任务,我花了很长时间(我的代码:
Suppose P stand of List<List<Character>>
public class HandleListofLists {
public List<Character> exe1 (P a) throws Exception{
if(a == null){
throw new Exception("a is null");
}
// what to do as next step, I have no idea
}
}
这样做:
static List<Character> exe1(List<List<Character>> a) {
return a.stream()
.flatMap(x -> Stream.concat(Stream.of('&'), x.stream()))
.skip(1)
.collect(Collectors.toList());
}
测试
System.out.println(exe1(List.of( List.of('a','b'), List.of('f','g'), List.of(), List.of('k') )));
输出
[a, b, &, f, g, &, &, k]