MAP болон flatMap хоёрын ялгаа юу вэ?
MAP болон flatMap хоёрын ялгаа юу вэ?

Видео: MAP болон flatMap хоёрын ялгаа юу вэ?

Видео: MAP болон flatMap хоёрын ялгаа юу вэ?
Видео: difference between map and flatmap in java 8 2024, Есдүгээр
Anonim

Хоёулаа газрын зураг () ба хавтгай газрын зураг () нь авдаг зураглал aStream-ийн элемент бүрт хэрэглэгдэх функц бөгөөд Stream-г буцаана. Цорын ганц ялгаа тэр нь зураглал функц дахь тохиолдол хавтгай газрын зураг () нь шинэ утгуудын урсгалыг үүсгэдэг, харин газрын зураг () энэ нь оролтын элемент бүрийн хувьд нэг утгыг үүсгэдэг.

Мөн flatMap ямар ашиг тустайг мэдэх үү?

хавтгай газрын зураг () V/s map(): Энэ нь урсгалыг тэгшлэхгүй. Гэхдээ хавтгай газрын зураг () нь газрын зураг ба хавтгай үйлдлийн хослол бөгөөд өөрөөр хэлбэл элементүүдийг тэгшлэхийн зэрэгцээ функцийг ашигладаг. 2) map() нь ашигласан зөвхөн өөрчлөлтийн хувьд, гэхдээ хавтгай газрын зураг () байна ашигласан хувиргах, тэгшлэх аль алинд нь.

Үүний нэгэн адил хавтгай газрын зураг гэж юу вэ? хавтгай - газрын зураг . Газрын зураг цуглуулга дээрх функц болон үр дүнг нэг түвшинд тэгшлэх. Хүсэх нь элбэг газрын зураг Жагсаалтад олон утгыг буцаадаг оролтын жагсаалт дээрх функц, гэхдээ та гаралтыг оролттой ижил байдлаар оруулахыг хүсэхгүй байна. бадмаараг… ["хоёр шувуу", "гурван ногоон вандуй"].

Үүнээс гадна flatMap урсгал гэж юу вэ?

Ашиглаж сур Stream flatMap () тэгшлэхэд ашигладаг арга a урсгал цуглуулгаас a урсгал бүх цуглуулгаас нэгтгэсэн элементүүдийн. The хавтгай газрын зураг () үйл ажиллагаа нь элементүүдэд нэгээс олон хувиргалтыг хэрэглэх нөлөөтэй урсгал , дараа нь үүссэн элементүүдийг шинэ болгон тэгшлэнэ урсгал.

Цуглуулга ба урсгал хоёрын ялгаа юу вэ?

А урсгал өгөгдөл хадгалахгүй. А урсгал эх сурвалжаа өөрчилдөггүй, харин зүгээр л үр дагавар үүсгэдэг. Цуглуулга хязгаарлагдмал хэмжээтэй, гэхдээ урсгалууд болохгүй. Итератор шиг шинэ урсгал ижил элементүүдийг дахин үзэхийн тулд үүсгэгдсэн байх ёстой - ийн эх үүсвэр.

Зөвлөмж болгож буй: