List<List<model>>如何更快捷的取里面的model?

访问接口返回数据类型为List<List<model>>,现在想将其中的model插入数据库,感觉一点点循环有点傻,0.0...,各位有没有其他的方法?
波斯汪
浏览 502回答 5
5回答

幕布斯7119047

C#的话: var flat = list.SelectMany(l=>l).ToList(); Java的话: List<model> flat = list.stream().flatMap(List::stream).collect(Collectors.toList());

慕雪6442864

list.stream().flatMap(model-> model.stream()).forEach(System.out::println);

四季花海

数据结构使然,循环吧

拉莫斯之舞

public static IEnumerable<T> GetItems<T>(this List<List<T>> list) { foreach (var child in list) { foreach (var item in child) { yield return item; } } } public static IEnumerable<T> GetNestItems<T>(this System.Collections.IList list) { Type type = null; foreach (var item in list) { if (type == null) type = item.GetType(); if (type == typeof(T)) { yield return (T)item; } else if (type.GetGenericTypeDefinition() == typeof(List<>)) { var items = GetNestItems<T>((System.Collections.IList)item); foreach (var t in items) { yield return t; } } } }

慕斯王

自己要不循环。要不接住其他函数来帮你完成循环。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java