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. docker-machine添加一個已有的docker主機問題2. docker安裝后出現Cannot connect to the Docker daemon.3. angular.js - angularjs的自定義過濾器如何給文字加顏色?4. mac里的docker如何命令行開啟呢?5. 關于docker下的nginx壓力測試6. docker - 如何修改運行中容器的配置7. java - 安卓實現熄屏功能。8. CSS屬性中的`auto`值是什么意思。9. node.js - node express 中ajax post請求參數接收不到?10. java - bootstrap table分頁以后,下面的分頁按鈕消失怎么辦并且如何返回總頁數
