Išspręsta: sumažinti sumą

Sumažinti sumą yra dažna problema, su kuria susiduria daugelis kūrėjų ir programavimo entuziastų. Tam reikia esminių programavimo sąvokų supratimo. Nors „Java“ siūlo įvairius šios problemos sprendimo būdus, kai kuriems tai vis tiek gali būti paini užduotis. Šiame straipsnyje mes įsigilinsime į vieną iš efektyviausių „Java“ problemos „Sumažinti sumą“ sprendimų, žingsnis po žingsnio paaiškindami kiekvieną kodo dalį, kad ji būtų lengvai suprantama net pradedantiesiems.

Problema Sumažinti sumą

Sumažinimo problema iš esmės susiveda į skaičių sumavimą skaitiniame sraute. Problema gali turėti įvairių variantų. Tai gali būti masyvo elementų sumavimas, LinkedList elementai arba srauto elementų sumavimas kelių gijų aplinkoje, kurioje naudojama funkcija „stream.reduce()“. Jame naudojamos lambda išraiškos ir funkcinės sąsajos, kurios yra esminės „Java 8“ ir naujesnės versijos funkcijos.

Java sprendimas

„Java“ suteikia daugybę bibliotekų ir funkcijų, leidžiančių lengvai valdyti ir išspręsti problemą. Naudotume „Stream“ API, kuri buvo įdiegta „Java 8“. Visų pirma, metodas „reduce()“, kuris sujungia srauto elementus, kad gautų vieną suvestinį rezultatą.

Čia yra „Java“ kodo pavyzdys.

public int sumOfArray(Integer[] numbers) {
    return Arrays.stream(numbers)
                 .reduce(0, Integer::sum);
}

Žingsnis po žingsnio Kodekso paaiškinimas

Aukščiau pateiktas kodas reiškia metodą, kuris kaip argumentą priima sveikųjų skaičių masyvą ir grąžina šių sveikųjų skaičių sumą.

  • Pirma, „Arrays.stream(numbers)“ konvertuoja masyvą į srautą.
  • Tada šiame sraute iškviečiamas „reduce()“ metodas. Šiam metodui reikalingi du parametrai: pradinė sumos reikšmė ir sumos apskaičiavimo metodas.
  • Pradinė vertė šiuo atveju yra „0“, o naudojamas metodas yra „Integer::sum“. „Integer::sum“ yra nuoroda į statinį metodą „sum“ sveikųjų skaičių klasėje. Šis metodas grąžina savo argumentų sumą. Jis perduodamas kaip metodo nuoroda į mažinimo metodą.
  • Tada funkcija „sumažinti()“ atlieka sumos operaciją kiekvienam srauto elementui, o suma grąžinama kaip funkcijos rezultatas.

Java bibliotekos ir panašios funkcijos

„Java“ siūlo platų bibliotekų asortimentą, kuris gali padėti valdyti srautus ir juos valdyti. Panašios „sumažinti“ funkcijos apima „rinkti“, „skaičiuoti“, „matyti“, „rasti“, „kartoti“, be kita ko, atsižvelgiant į tai, kokią operaciją reikia atlikti sraute.

Per šią iliustraciją matome, kad „Java“ teikia galingus ir lanksčius įrankius sudėtingoms problemoms spręsti, net kaip sumažinti sumos problemą. Tai kalbos universalumo ir tvirtumo įrodymas.

Susijusios naujienos:

Palikite komentarą