java - List<List<model>>如何更快捷的取里面的model?
問題描述
訪問接口返回數據類型為List<List<model>>,現在想將其中的model插入數據庫,感覺一點點循環有點傻,0.0...,各位有沒有其他的方法?
問題解答
回答1:C#的話:
var flat = list.SelectMany(l=>l).ToList();
Java的話:
List<model> flat = list.stream().flatMap(List::stream).collect(Collectors.toList());回答2:
list.stream().flatMap(model-> model.stream()).forEach(System.out::println);
回答3:數據結構使然,循環吧
回答4: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; }} }}回答5:
自己要不循環。要不接住其他函數來幫你完成循環。
相關文章:
1. javascript - 數組原聲方法中的一段代碼2. css - 關于ul的布局3. python - linux怎么在每天的凌晨2點執行一次這個log.py文件4. android - 優酷的安卓及蘋果app還在使用flash技術嗎?5. docker不顯示端口映射呢?6. mysql數據庫每次查詢是一條線程嗎?7. JavaScript如何循序漸進,有效的學習?看不下去怎么辦?8. java - public <T> T findOne(T record) 這是什么意思9. javascript - 前端開發 本地靜態文件頻繁修改,預覽時的緩存怎么解決?10. html5和Flash對抗是什么情況?
