java - List<List<model>>如何更快捷的取里面的model?
問(wèn)題描述
訪問(wèn)接口返回?cái)?shù)據(jù)類型為L(zhǎng)ist<List<model>>,現(xiàn)在想將其中的model插入數(shù)據(jù)庫(kù),感覺(jué)一點(diǎn)點(diǎn)循環(huán)有點(diǎn)傻,0.0...,各位有沒(méi)有其他的方法?
問(wèn)題解答
回答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:數(shù)據(jù)結(jié)構(gòu)使然,循環(huán)吧
回答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:
自己要不循環(huán)。要不接住其他函數(shù)來(lái)幫你完成循環(huán)。
相關(guān)文章:
1. mysql - 如何減少使用或者不用LEFT JOIN查詢?2. html5 - H5 audio 微信端 在IOS上不能播放音樂(lè)3. python - 編碼問(wèn)題求助4. python - 我在使用pip install -r requirements.txt下載時(shí),為什么部分能下載,部分不能下載5. 視頻文件不能播放,怎么辦?6. mysql - 分庫(kù)分表、分區(qū)、讀寫(xiě)分離 這些都是用在什么場(chǎng)景下 ,會(huì)帶來(lái)哪些效率或者其他方面的好處7. mysql - jdbc的問(wèn)題8. python - Scrapy存在內(nèi)存泄漏的問(wèn)題。9. Python爬蟲(chóng)如何爬取span和span中間的內(nèi)容并分別存入字典里?10. mysql - 千萬(wàn)級(jí)數(shù)據(jù)的表,添加unique約束,insert會(huì)不會(huì)很慢?
