ForEach უფრო სწრაფია ვიდრე Java-სთვის?
ForEach უფრო სწრაფია ვიდრე Java-სთვის?

ვიდეო: ForEach უფრო სწრაფია ვიდრე Java-სთვის?

ვიდეო: ForEach უფრო სწრაფია ვიდრე Java-სთვის?
ვიდეო: why forEach in java 8 has better performance 2024, მაისი
Anonim

თითოეულისთვის () შეიძლება განხორციელდეს იყოს უფრო სწრაფად ვიდრე თითოეული მარყუჟისთვის, რადგან iterable-მა იცის მისი ელემენტების გამეორების საუკეთესო გზა, განსხვავებით სტანდარტული იტერატორისგან. ასე რომ, განსხვავება არის მარყუჟის შიგნით ან მარყუჟის გარედან.

ასევე იკითხა, რომელია უფრო სწრაფი ან foreach?

FOR ციკლი სიგრძის ქეშირების გარეშე და FOREACH იმუშავეთ ოდნავ უფრო სწრაფად მასივებზე ვიდრე FOR სიგრძის ქეშირებით. მასივი. Foreach შესრულება დაახლოებით 6-ჯერ ნელია ვიდრე FOR / FOREACH შესრულება.

გარდა ზემოთ, არის Java 8 ნაკადი უფრო სწრაფი ვიდრე loop-ისთვის? დიახ, ნაკადები ზოგჯერ უფრო ნელია ვიდრე მარყუჟები , მაგრამ ისინი ასევე შეიძლება იყოს თანაბრად სწრაფი ; ეს დამოკიდებულია გარემოებებზე. მთავარია სახლში წაღება ის თანმიმდევრობით ნაკადები არ არიან უფრო სწრაფი ვიდრე მარყუჟები.

ანალოგიურად, რომელი ციკლი უფრო სწრაფია ჯავაში?

არა, მარყუჟის ტიპის შეცვლას მნიშვნელობა არ აქვს. ერთადერთი, რაც მას უფრო აჩქარებს, იქნება მარყუჟების ნაკლები მობუსვა და ნაკლები მნიშვნელობების გადატანა. ერთადერთი განსხვავება for loop-სა და a-ს შორის ხოლო მარყუჟი არის სინტაქსი მათი განსაზღვრისთვის. შესრულების განსხვავება საერთოდ არ არის.

რატომ არის for loop უფრო სწრაფი ვიდრე foreach?

ეს foreach loop უფრო სწრაფია რადგან ლოკალური ცვლადი, რომელიც ინახავს ელემენტის მნიშვნელობას მასივში არის უფრო სწრაფად წვდომისათვის ვიდრე ელემენტი მასივში. ფორლუპი არის უფრო სწრაფად ვიდრე The foreach loop თუ მასივზე წვდომა მხოლოდ ერთხელ უნდა მოხდეს გამეორებაზე.

გირჩევთ: