第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

面試題:一個(gè)存有10000個(gè)數(shù)的list對(duì)list中的每一個(gè)數(shù)+1.如何實(shí)現(xiàn)

面試題:一個(gè)存有10000個(gè)數(shù)的list對(duì)list中的每一個(gè)數(shù)+1.如何實(shí)現(xiàn)

繁花不似錦 2018-08-01 09:21:47
我當(dāng)時(shí)回答的是使用java8的stream類(lèi)中的map函數(shù)+1.但是看面試官的反應(yīng)讓我確信這不是正確答案。各位會(huì)怎么做
查看完整描述

2 回答

?
qq_汪奇_0

TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超1個(gè)贊

我今天也被問(wèn)到了這個(gè)問(wèn)題。面試官給我的答案是用多線程將List分段并行處理。java1.8中可以通過(guò)

list.parallelStream()獲取并行流


查看完整回答
反對(duì) 回復(fù) 2021-04-07
?
鴻蒙傳說(shuō)

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

Java8 的 Stream 可以并發(fā)執(zhí)行,但 Stream 不會(huì)改變?cè)械?list,只能返回一個(gè)新的 list,然后賦值給原來(lái) list 的引用。但是如果 list 是 RandomAccess 的,即底層實(shí)現(xiàn)為數(shù)組,比如 ArrayList,那么直接使用傳統(tǒng)的 for 循環(huán)遍歷一遍就好,因?yàn)閷?duì)于 RandomAccess 的 List,通過(guò)下標(biāo)訪問(wèn)數(shù)組元素的時(shí)間復(fù)雜度為 O(1),那么遍歷一遍的時(shí)間復(fù)雜度為 O(N),這是一個(gè)很優(yōu)的時(shí)間復(fù)雜度,而且沒(méi)有使用額外的空間,空間復(fù)雜度為 O(1);
如果不是,比如 LinkedList,那么通過(guò)下標(biāo)獲得 list 中對(duì)應(yīng)元素的時(shí)間復(fù)雜度是 O(N),如果使用之前的方式,那么總的時(shí)間復(fù)雜度會(huì)是 O(N^2),那么推薦創(chuàng)建一個(gè)同樣大小新的 List,然后遍歷原有的 list,把 每個(gè)元素+1 的值加入到新的 List中。這個(gè)時(shí)候時(shí)間復(fù)雜度是 O(N),空間復(fù)雜度也是 O(N)。(當(dāng)然此時(shí)你也可以使用 Stream 來(lái)生成一個(gè)新的 List


所以我猜測(cè)面試官對(duì)你的回答不滿(mǎn)意,是因?yàn)槟銢](méi)有考慮到不同的 List 類(lèi)型吧。


查看完整回答
反對(duì) 回復(fù) 2018-08-05
  • 2 回答
  • 0 關(guān)注
  • 1808 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)