top 40 java 8 interview questions answers
У овом упутству смо пружили најважнија питања за интервју за Јава 8 и њихове одговоре са примерима кода и објашњењем:
Сва важна питања која су наведена у овом упутству специфична су за Јаву 8. Јава је много еволуирала (временом) увођењем нових верзија. Са сваком верзијом имамо нове функције повезане са Јавом. Све ове важне карактеристике биће обрађене у овом упутству.
То су врло честа питања која ће вам бити постављена у било каквим Јава интервјуима који захтевају напредне вештине. Ови концепти морају да се користе ако ћете се појавити на било ком стандардном испиту за Јава сертификацију, попут Орацле Цертифиед Ассоциате (ОЦА).
=> Овде погледајте водич за почетнике Јава.
Овај чланак ће бити врло погодан како за Јава програмере, тако и за Јава тестере / тестере аутоматизације или за оне који траже већу плату у истом пољу јер захтевају напредне Јава вештине.
Најчешћа питања о Јава 8 интервјуу
П # 1) Наведите нове функције уведене у Јави 8?
Одговор: Нове функције које су представљене у Јави 8 наведене су у наставку:
- Ламбда изрази
- Референце литературе
- Факултативни час
- Функционални интерфејс
- Подразумеване методе
- Носорог, ЈаваСцрипт мотор
- Стреам АПИ
- Датум АПИ
П # 2) Шта су функционални интерфејси?
Одговор: Функционални интерфејс је интерфејс који има само један апстрактни метод. Имплементација ових интерфејса обезбеђена је помоћу Ламбда Екпрессион, што значи да да бисте користили Ламбда Екпрессион, морате створити нови функционални интерфејс или можете користити унапред дефинисани функционални интерфејс Јава 8 .
Напомена која се користи за креирање новог функционалног интерфејса је „ @ФунцтионалИнтерфаце ”.
П # 3) Шта је необавезна класа?
Одговор: Необавезна класа је посебна класа омотача уведена у Јави 8 која се користи за избегавање НуллПоинтерЕкцептионс. Ова последња класа је присутна у пакету јава.утил. НуллПоинтерЕкцептионс се јавља када не успемо да извршимо нулл провере.
П # 4) Који су задати методи?
Одговор: Подразумеване методе су методе интерфејса који има тело. Ове методе, као што и само име говори, користе подразумеване кључне речи. Коришћење ових подразумеваних метода је „Компатибилност уназад“, што значи да ако ЈДК модификује било који интерфејс (без подразумеване методе) тада ће се разбити класе које примењују овај интерфејс.
С друге стране, ако додате подразумевани метод у интерфејс, тада ћете моћи да пружите подразумевану имплементацију. То неће утицати на часове примене.
Синтакса:
public interface questions{ default void print() { System.out.println('www.softwaretestinghelp.com'); } }
К # 5) Које су главне карактеристике Ламбда функције?
Одговор: Главне карактеристике Ламбда функције су следеће:
- Метода која је дефинисана као Ламбда израз може се проследити као параметар другој методи.
- Метода може постојати самостално без припадања класи.
- Нема потребе да се декларише тип параметра, јер компајлер може да преузме тип из вредности параметра.
- Можемо да користимо заграде када користимо више параметара, али нема потребе да имамо заграде када користимо један параметар.
- Ако тело израза има једну изјаву, онда нема потребе да укључујете коврџаве заграде.
К # 6) Шта није било у реду са старим датумом и временом?
Одговор: У наставку су наведени недостаци старог датума и времена:
- Јава.утил.Дате је променљив и није сигуран за нит, док су нови Јава 8 Датум и време АПИ-ји сигурни за нит.
- Јава 8 Дате анд Тиме АПИ испуњава ИСО стандарде, док су стари датум и време били лоше дизајнирани.
- Увео је неколико АПИ класа за датум попут ЛоцалДате, ЛоцалТиме, ЛоцалДатеТиме итд.
- Говорећи о перформансама између њих, Јава 8 ради брже од старог режима датума и времена.
П # 7) Која је разлика између АПИ-ја за прикупљање и АПИ-ја за ток?
Одговор: Разлика између Стреам АПИ-ја и АПИ-ја Цоллецтион може се разумети из доње табеле:
Стреам АПИ | АПИ за прикупљање |
---|---|
Представљен је у верзији Јава 8 Стандард Едитион. | Представљен је у Јави верзији 1.2 |
Од Итератора и Сплитератора нема користи. | Уз помоћ форЕацх можемо користити итератор и сплитераторе за итерацију елемената и извршавање радње над сваком ставком или елементом. |
Може се похранити неограничен број карактеристика. | Може се сачувати небројени број елемената. |
Потрошња и понављање елемената из објекта Стреам могу се обавити само једном. | Потрошња и понављање елемената из објекта Цоллецтион могу се извршити више пута. |
Користи се за израчунавање података. | Користи се за чување података. |
К # 8) Како можете створити функционални интерфејс?
Одговор: Иако Јава може да идентификује функционални интерфејс, можете га дефинисати са напоменом
@ФунцтионалИнтерфаце
Након што дефинишете функционални интерфејс, можете имати само један апстрактни метод. Будући да имате само једну апстрактну методу, можете написати више статичких метода и задатих метода.
Испод је пример програмирања ФунцтионалИнтерфаце написаног за множење два броја.
@FunctionalInterface // annotation for functional interface interface FuncInterface { public int multiply(int a, int b); } public class Java8 { public static void main(String args()) { FuncInterface Total = (a, b) -> a * b; // simple operation of multiplication of 'a' and 'b' System.out.println('Result: '+Total.multiply(30, 60)); } }
Излаз:
П # 9) Шта је САМ интерфејс?
Одговор: Јава 8 је увела концепт Функционалног интерфејса који може имати само један апстрактни метод. Будући да ови интерфејси наводе само један апстрактни метод, они се понекад називају САМ интерфејсима. САМ је скраћеница од „Сингле Абстрацт Метход“.
К # 10) Шта је Референца метода?
упс концепт у ц # са примером
Одговор: У Јави 8 представљена је нова функција позната као Референца метода. Ово се користи за упућивање на метод функционалног интерфејса. Може се користити за замену Ламбда Екпрессион док се позива на методу.
На пример: Ако Ламбда израз изгледа
num -> System.out.println(num)
Тада би одговарајућа референца методе била,
System.out::println
где је „::“ оператор који разликује име класе од назива методе.
К # 11) Објасните следећу синтаксу
String:: Valueof Expression
Одговор: То је референца статичке методе на Вредност метода Низ класа. Систем.оут :: принтлн је статична референца методе на принтлн методу оут објекта класе Систем.
Враћа одговарајући стринг приказ аргумента који је прослеђен. Аргумент може бити Цхарацтер, Интегер, Боолеан итд.
П # 12) Шта је предикат? Наведите разлику између предиката и функције?
Одговор: Предикат је унапред дефинисан функционални интерфејс. Налази се у пакету јава.утил.фунцтион.Предицате. Прихвата само један аргумент који је у облику као што је приказано доле,
Предикат
Предикат | Функција |
---|---|
Има повратни тип као логички. | Има повратни тип као Објецт. |
Написано је у облику Предикат која прихвата један аргумент. | Написано је у облику Функција која такође прихвата један једини аргумент. |
То је функционални интерфејс који се користи за процену Ламбда израза. Ово се може користити као циљ за Референцу метода. | Такође је функционални интерфејс који се користи за процену Ламбда израза. У функцији, Т је за тип уноса, а Р је за тип резултата. Ово се такође може користити као циљ за Ламбда израз и Референцу метода. |
К # 13) Да ли нешто није у реду са следећим кодом? Да ли ће се саставити или дати неку конкретну грешку?
@FunctionalInterface public interface Test { public C apply(A a, B b); default void printString() { System.out.println('softwaretestinghelp'); } }
Одговор: Да. Код ће се компајлирати јер следи спецификацију функционалног интерфејса која дефинише само једну апстрактну методу. Друга метода, принтСтринг (), подразумевана је метода која се не рачуна као апстрактна метода.
К # 14) Шта је Стреам АПИ? Зашто нам је потребан Стреам АПИ?
Одговор: Стреам АПИ је нова функција додата у Јави 8. То је посебна класа која се користи за обраду објеката из извора као што је Цоллецтион.
Потребан нам је Стреам АПИ јер,
- Подржава агрегатне операције што обраду чини једноставном.
- Подржава програмирање у функционалном стилу.
- Ради бржу обраду. Стога је погодно за боље перформансе.
- Омогућава паралелне операције.
К # 15) Која је разлика између ограничења и прескакања?
Одговор: Метода лимит () користи се за враћање Стреама одређене величине. На пример, Ако сте споменули ограничење (5), тада би број излазних елемената био 5.
Размотримо следећи пример. Излаз овде враћа шест елемената пошто је ограничење постављено на „шест“.
import java.util.stream.Stream; public class Java8 { public static void main(String() args) { Stream.of(0,1,2,3,4,5,6,7,8) .limit(6) /*limit is set to 6, hence it will print the numbers starting from 0 to 5 */ .forEach(num->System.out.print('
'+num)); } }
Излаз:
Док се метода прескакања () користи за прескакање елемента.
Размотримо следећи пример. У излазу су елементи 6, 7, 8, што значи да је прескочио елементе до 6. индекса (почевши од 1).
import java.util.stream.Stream; public class Java8 { public static void main(String() args) { Stream.of(0,1,2,3,4,5,6,7,8) .skip(6) /* It will skip till 6th index. Hence 7th, 8th and 9th index elements will be printed */ .forEach(num->System.out.print('
'+num)); } }
Излаз:
предности линук-а у односу на Виндовс 10
К # 16) Како ћете добити тренутни датум и време помоћу Јава 8 АПИ-ја за датум и време?
Одговор: Програм у наставку написан је уз помоћ новог АПИ-ја представљеног у Јави 8. Користили смо ЛоцалДате, ЛоцалТиме и ЛоцалДатеТиме АПИ да бисмо добили тренутни датум и време.
У првој и другој изјави за штампање преузели смо тренутни датум и време са системског сата са подразумеваном временском зоном. У трећој изјави за штампу користили смо ЛоцалДатеТиме АПИ који ће исписати и датум и време.
class Java8 { public static void main(String() args) { System.out.println('Current Local Date: ' + java.time.LocalDate.now()); //Used LocalDate API to get the date System.out.println('Current Local Time: ' + java.time.LocalTime.now()); //Used LocalTime API to get the time System.out.println('Current Local Date and Time: ' + java.time.LocalDateTime.now()); //Used LocalDateTime API to get both date and time } }
Излаз:
К # 17) Која је сврха методе лимит () у Јави 8?
Одговор: Метода Стреам.лимит () одређује ограничење елемената. Величина коју наведете у ограничењу (Кс), вратиће ток величине „Кс“. То је метода јава.утил.стреам.Стреам
Синтакса:
limit(X)
Где је „Кс“ величина елемента.
П # 18) Написати програм за испис 5 случајних бројева помоћу форЕацх у Јави 8?
Одговор: Програм у наставку генерише 5 случајних бројева уз помоћ форЕацх у Јави 8. Ограничену променљиву можете поставити на било који број, у зависности од тога колико случајних бројева желите да генеришете.
import java.util.Random; class Java8 { public static void main(String() args) { Random random = new Random(); random.ints().limit(5).forEach(System.out::println); /* limit is set to 5 which means only 5 numbers will be printed with the help of terminal operation forEach */ } }
Излаз:
К # 19) Написати програм за штампање 5 случајних бројева сортираним редоследом помоћу форЕацх у Јави 8?
Одговор: Програм у наставку генерише 5 случајних бројева уз помоћ форЕацх у Јави 8. Ограничену променљиву можете поставити на било који број, у зависности од тога колико случајних бројева желите да генеришете. Једино што овде треба да додате је метода сортед ().
import java.util.Random; class Java8 { public static void main(String() args) { Random random = new Random(); random.ints().limit(5).sorted().forEach(System.out::println); /* sorted() method is used to sort the output after terminal operation forEach */ } }
Излаз:
К # 20) Која је разлика између посредних и терминалних операција у току?
Одговор: Све операције у току су или Терминал или Интермедиате. Међуоперације су операције које враћају Поток тако да се на њему могу изводити неке друге операције. Средње операције не обрађују ток на месту позива, па се зато називају лењи.
Ове врсте операција (средње операције) обрађују податке када се извршава операција терминала. Примери међуфазних операција су мапа и филтер.
Терминал Оператионс покрећу обраду тока. Током овог позива, Стреам пролази све посредничке операције. Примери операција терминала су сум, Цоллецт и форЕацх.
У овом програму прво покушавамо да извршимо средњу операцију без операције терминала. Као што видите, први блок кода се неће извршити јер не подржава операцију терминала.
Други блок је успешно изведен због суме операције терминала ().
import java.util.Arrays; class Java8 { public static void main(String() args) { System.out.println('Intermediate Operation won't execute'); Arrays.stream(new int() { 0, 1 }).map(i -> { System.out.println(i); return i; // No terminal operation so it won't execute }); System.out.println('Terminal operation starts here'); Arrays.stream(new int() { 0, 1 }).map(i -> { System.out.println(i); return i; // This is followed by terminal operation sum() }).sum(); } }
Излаз:
К # 21) Написати програм Јава 8 да бисте добили збир свих бројева присутних на листи?
Одговор: У овом програму користили смо АрраиЛист за чување елемената. Затим смо помоћу методе сум () израчунали збир свих елемената присутних у АрраиЛист. Затим се претвара у Стреам и додаје сваки елемент уз помоћ мапТоИнт () и сум () метода.
import java.util.*; class Java8 { public static void main(String() args) { ArrayList list = new ArrayList(); list.add(10); list.add(20); list.add(30); list.add(40); list.add(50); // Added the numbers into Arraylist System.out.println(sum(list)); } public static int sum(ArrayList list) { return list.stream().mapToInt(i -> i).sum(); // Found the total using sum() method after // converting it into Stream } }
Излаз:
П # 22) Написати програм Јава 8 да квадрира листу бројева, а затим филтрира бројеве веће од 100, а затим пронађе просек преосталих бројева?
Одговор: У овом програму узели смо низ целих бројева и ускладиштили их на листи. Затим смо уз помоћ мапТоИнт () изравнали елементе на квадрат и филтрирали бројеве веће од 100. Коначно, израчунава се просек преосталог броја (већи од 100).
import java.util.Arrays; import java.util.List; import java.util.OptionalDouble; public class Java8 { public static void main(String() args) { Integer() arr = new Integer() { 100, 100, 9, 8, 200 }; List list = Arrays.asList(arr); // Stored the array as list OptionalDouble avg = list.stream().mapToInt(n -> n * n).filter(n -> n > 100).average(); /* Converted it into Stream and filtered out the numbers which are greater than 100. Finally calculated the average */ if (avg.isPresent()) System.out.println(avg.getAsDouble()); } }
Излаз:
К # 23) Која је разлика између Стреам’с финдФирст () и финдАни ()?
Одговор: Као што и само име говори, метода финдФирст () користи се за проналажење првог елемента из тока, док се метода финдАни () користи за проналажење било ког елемента из тока.
ФиндФирст () је по природи предестинаризам, док је финдАни () недетерминистички. У програмирању, детерминистички значи да се излаз заснива на улазу или почетном стању система.
К # 24) Која је разлика између Итератора и Сплитератора?
Одговор: Испод су разлике између Итератора и Сплитератора.
Итератор | Сплиттер |
---|---|
Представљен је у Јави верзији 1.2 | Уведен је у Јава СЕ 8 |
Користи се за АПИ за прикупљање. | Користи се за Стреам АПИ. |
Неке методе итерације су нект () и хасНект () које се користе за итерацију елемената. | Метода сплитератора је триАдванце (). |
Морамо позвати методу итератор () на Објекту колекције. | Морамо да позовемо методу сплитератор () на Стреам Објецт. |
Интеракција само у низу. | Интеракција је у паралелном и секвенцијалном редоследу. |
К # 25) Шта је потрошачки функционални интерфејс?
Одговор: Потрошачки функционални интерфејс је такође интерфејс са једним аргументом (попут предиката и функције). Долази под јава.утил.фунцтион.Цонсумер. Ово не враћа никакву вредност.
У доњем програму користили смо метод аццепт за дохваћање вредности објекта Стринг.
import java.util.function.Consumer; public class Java8 { public static void main(String() args) Consumer str = str1 -> System.out.println(str1); str.accept('Saket'); /* We have used accept() method to get the value of the String Object */ } }
Излаз:
К # 26) Шта је функционални интерфејс добављача?
Одговор: Функционални интерфејс добављача не прихвата улазне параметре. Долази под јава.утил.фунцтион.Супплиер. Ово враћа вредност помоћу методе гет.
У доњем програму користили смо методу гет да бисмо преузели вредност објекта Стринг.
import java.util.function.Supplier; public class Java8 { public static void main(String() args) { Supplier str = () -> 'Saket'; System.out.println(str.get()); /* We have used get() method to retrieve the value of String object str. */ } }
Излаз:
К # 27) Шта је Насхорн у Јави 8?
Одговор: Насхорн у Јави 8 је механизам за извршавање и процену ЈаваСцрипт кода заснован на Јави.
К # 28) Напишите Јава 8 програм да бисте пронашли најмањи и највећи број стреама?
Одговор: У овом програму користили смо методе мин () и мак () да бисмо добили највећи и најмањи број тока. Пре свега, иницијализовали смо ток који има целе бројеве и уз помоћ методе Цомпаратор.цомпаринг () упоредили смо елементе тока.
Када се овај метод угради са мак () и мин (), добиће се највећи и најнижи број. Такође ће функционисати и када упоређујете жице.
import java.util.Comparator; import java.util.stream.*; public class Java8{ public static void main(String args()) { Integer highest = Stream.of(1, 2, 3, 77, 6, 5) .max(Comparator.comparing(Integer::valueOf)) .get(); /* We have used max() method with Comparator.comparing() method to compare and find the highest number */ Integer lowest = Stream.of(1, 2, 3, 77, 6, 5) .min(Comparator.comparing(Integer::valueOf)) .get(); /* We have used max() method with Comparator.comparing() method to compare and find the highest number */ System.out.println('The highest number is: ' + highest); System.out.println('The lowest number is: ' + lowest); } }
Излаз:
који је најбољи бесплатни музички довнлоадер?
К # 29) Која је разлика између рада стреама карте и флатМап?
Одговор: Мап Стреам операција даје једну излазну вредност по улазној вредности, док флатМап Стреам операција даје нула или више излазних вредности по улазној вредности.
Пример мапе- Рад Мап Стреам-а се обично користи за једноставне операције на Стреам-у, попут оне која је доле наведена.
У овом програму смо знакове „Имена“ променили у велика слова помоћу операције мапирања након што смо их ускладиштили у Стреам и уз помоћ операције форЕацх Терминал исписали смо сваки елемент.
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Map { public static void main(String() str) { List Names = Arrays.asList('Saket', 'Trevor', 'Franklin', 'Michael'); List UpperCase = Names.stream().map(String::toUpperCase).collect(Collectors.toList()); // Changed the characters into upper case after converting it into Stream UpperCase.forEach(System.out::println); // Printed using forEach Terminal Operation } }
Излаз:
Пример флатМап- Операција флатМап Стреам користи се за сложеније операције Стреам.
Овде смо извршили флатМап операцију на „Списку листе типа Стринг“. Имена уноса дали смо као списак, а затим смо их ускладиштили у току на коме смо филтрирали имена која почињу са „С“.
На крају, уз помоћ операције форЕацх Терминал, одштампали смо сваки елемент.
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class flatMap { public static void main(String() str) { List Names = Arrays.asList(Arrays.asList('Saket', 'Trevor'), Arrays.asList('John', 'Michael'), Arrays.asList('Shawn', 'Franklin'), Arrays.asList('Johnty', 'Sean')); /* Created a “List of List of type String” i.e. List Stored names into the list */ List Start = Names.stream().flatMap(FirstName -> FirstName.stream()).filter(s -> s.startsWith('S')) .collect(Collectors.toList()); /* Converted it into Stream and filtered out the names which start with 'S' */ Start.forEach(System.out::println); /* Printed the Start using forEach operation */ } }
Излаз:
К # 30) Шта је МетаСпаце у Јави 8?
Одговор: У Јави 8 је представљена нова функција за чување класа. Подручје у којем се све класе ускладиштене у Јави 8 називају МетаСпаце. МетаСпаце је заменио ПермГен.
До Јава 7, ПермГен је користила Јава Виртуал Мацхине за чување класа. Будући да је МетаСпаце динамичан јер може динамички расти и нема ограничења величине, Јава 8 је ПермГен заменио МетаСпацеом.
К # 31) Која је разлика између интерне и екстерне итерације Јава 8?
Одговор: Разлика између унутрашње и спољне итерације наведена је у наставку.
Интерна итерација | Спољна итерација |
---|---|
Представљен је у Јави 8 (ЈДК-8). | Уведен је и примењиван у претходној верзији Јаве (ЈДК-7, ЈДК-6 и тако даље). |
Интерно се понавља на агрегираним објектима као што је Збирка. | Итераира се споља на агрегираним објектима. |
Подржава стил функционалног програмирања. | Подржава ООПС стил програмирања. |
Интерни Итератор је пасиван. | Спољни Итератор је активан. |
Мање је погрешно и захтева мање кодирања. | Захтева мало више кодирања и склоније је грешкама. |
К # 32) Шта је ЈЈС?
Одговор: ЈЈС је алатка наредбеног ретка која се користи за извршавање ЈаваСцрипт кода на конзоли. У Јави 8, ЈЈС је нова извршна датотека која је ЈаваСцрипт механизам.
П # 33) Шта је ЦхроноУнитс у Јави 8?
Одговор: ЦхроноУнитс је набрајање које је уведено да замени вредности целог броја које се користе у старом АПИ-ју за представљање месеца, дана итд.
К # 34) Објаснити СтрингЈоинер класу у Јави 8? Како можемо постићи спајање више низова помоћу СтрингЈоинер класе?
Одговор: У Јави 8 уведена је нова класа у пакету јава.утил који је био познат као СтрингЈоинер. Кроз ову класу можемо придружити више низова одвојених граничницима, заједно са пружањем префикса и суфикса.
У доњем програму ћемо научити о придруживању више жица помоћу СтрингЈоинер класе. Овде имамо „,“ као граничник између две различите жице. Тада смо спојили пет различитих низова додавањем помоћу методе адд (). На крају, одштампајте Стринг Јоинер.
У следећем питању бр. 35 научићете о додавању префикса и суфикса у низ.
import java.util.StringJoiner; public class Java8 { public static void main(String() args) { StringJoiner stj = new StringJoiner(','); // Separated the elements with a comma in between. stj.add('Saket'); stj.add('John'); stj.add('Franklin'); stj.add('Ricky'); stj.add('Trevor'); // Added elements into StringJoiner “stj” System.out.println(stj); } }
Излаз:
П # 35) Написати програм Јава 8 за додавање префикса и суфикса у Стринг?
Одговор: У овом програму имамо „,“ као граничник између две различите жице. Такође, дали смо заграде „(“ и „)“ као префикс и суфикс. Затим се пет различитих низова спаја њиховим додавањем помоћу методе адд (). На крају, одштампајте Стринг Јоинер.
import java.util.StringJoiner; public class Java8 { public static void main(String() args) { StringJoiner stj = new StringJoiner(',', '(', ')'); // Separated the elements with a comma in between. //Added a prefix '(' and a suffix ')' stj.add('Saket'); stj.add('John'); stj.add('Franklin'); stj.add('Ricky'); stj.add('Trevor'); // Added elements into StringJoiner “stj” System.out.println(stj); } }
Излаз:
К # 36) Написати програм Јава 8 за понављање тока методом форЕацх методе?
Одговор: У овом програму понављамо ток који започиње са „нумбер = 2“, праћен променљивом цоунт увећаном за „1“ након сваке итерације.
Затим филтрирамо број чији остатак није нула када се дели са бројем 2. Такође, поставили смо ограничење као? 5, што значи да ће само 5 пута поновити. На крају, исписујемо сваки елемент користећи форЕацх.
import java.util.stream.*; public class Java8 { public static void main(String() args){ Stream.iterate(2, count->count+1) // Counter Started from 2, incremented by 1 .filter(number->number%2==0) // Filtered out the numbers whose remainder is zero // when divided by 2 .limit(5) // Limit is set to 5, so only 5 numbers will be printed .forEach(System.out::println); } }
Излаз:
К # 37) Напишите Јава 8 програм за сортирање низа, а затим конвертовани сортирани низ у Стреам?
Одговор: У овом програму користили смо паралелно сортирање за сортирање низа целих бројева. Затим смо сортирани низ претворили у Стреам и уз помоћ форЕацх исписали смо сваки елемент Стреама.
import java.util.Arrays; public class Java8 { public static void main(String() args) { int arr() = { 99, 55, 203, 99, 4, 91 }; Arrays.parallelSort(arr); // Sorted the Array using parallelSort() Arrays.stream(arr).forEach(n -> System.out.print(n + ' ')); /* Converted it into Stream and then printed using forEach */ } }
Излаз:
К # 38) Напишите Јава 8 програм да бисте пронашли број жица на листи чија је дужина већа од 5?
Одговор: У овом програму на листу се додају четири низа методом адд (), а затим смо уз помоћ израза Стреам и Ламбда избројали низове чија је дужина већа од 5.
import java.util.ArrayList; import java.util.List; public class Java8 { public static void main(String() args) { List list = new ArrayList(); list.add('Saket'); list.add('Saurav'); list.add('Softwaretestinghelp'); list.add('Steve'); // Added elements into the List long count = list.stream().filter(str -> str.length() > 5).count(); /* Converted the list into Stream and filtering out the Strings whose length more than 5 and counted the length */ System.out.println('We have ' + count + ' strings with length greater than 5'); } }
Излаз:
К # 39) Написати програм Јава 8 за спајање два тока?
Одговор: У овом програму створили смо два тока од две већ креиране листе, а затим смо их повезали методом цонцат () у коме се две листе прослеђују као аргумент. На крају, одштампали су елементе уједињеног тока.
import java.util.Arrays; import java.util.List; import java.util.stream.Stream; public class Java8 { public static void main(String() args) { List list1 = Arrays.asList('Java', '8'); List list2 = Arrays.asList('explained', 'through', 'programs'); Stream concatStream = Stream.concat(list1.stream(), list2.stream()); // Concatenated the list1 and list2 by converting them into Stream concatStream.forEach(str -> System.out.print(str + ' ')); // Printed the Concatenated Stream } }
Излаз:
К # 40) Написати програм Јава 8 за уклањање дуплираних елемената са листе?
Одговор: У овом програму смо елементе ускладиштили у низ и претворили у листу. Након тога користили смо стреам и прикупили га за „Сет“ уз помоћ методе „Цоллецторс.тоСет ()“.
import java.util.Arrays; import java.util.List; import java.util.Set; import java.util.stream.Collectors; public class Java8 { public static void main(String() args) { Integer() arr1 = new Integer() { 1, 9, 8, 7, 7, 8, 9 }; List listdup = Arrays.asList(arr1); // Converted the Array of type Integer into List Set setNoDups = listdup.stream().collect(Collectors.toSet()); // Converted the List into Stream and collected it to “Set” // Set won't allow any duplicates setNoDups.forEach((i) -> System.out.print(' ' + i)); } }
Излаз:
Закључак
У овом чланку смо разумели нове функције представљене у Јави 8. Детаљно смо покрили сва главна питања у вези са интервјуима за Јава 8 и њихове одговоре.
Читајући ово упутство, морали сте стећи знање о новим АПИ-јевима за манипулацију датумом и временом, новим карактеристикама Јава 8, новим АПИ-јем за струјање, као и примерима примере програмирања према концепту. Ови нови концепти или функције су део процеса интервјуа када сте спремни за изазовније Јава позиције.
Све најбоље!!
=> Овде проверите СВЕ Јава туторијале.
Препоручено читање
- Интервјуирајте питања и одговоре
- Питања и одговори за испитивање ЕТЛ-а
- Нека незгодна ручна тестирања питања и одговори
- Топ 40 Ц питања и одговори за програмирање у интервјуу
- 40 најпопуларнијих питања и одговора за Ј2ЕЕ интервјуе које бисте требали прочитати
- Споцк интервју питања са одговорима (најпопуларније)
- 25 најбољих агилних тестова за интервју и питања и одговори
- 32 најбоља питања и одговори за интервју за Датастаге