Научите Јава програмирање: Како користити листе, нити и сарадњу
У последњем чланку у нашој серији Јава објашњавамо како правилно руковати нитима, листама, изузецима и датотекама на Јави.
Јава: шта су изузеци?
Ако још нисте радили са Јавом, прво овде прочитајте наше "Основе". Различити узорци се могу наћи у галерији слика на крају чланка.
- Изузетак је проблем који се јавља током покретања програма.
- Постоји посебан код који се бави таквом командом. Да бисте то учинили, прво напишите „три {“, а затим код који треба извршити. Затим напишите "} цатцх (Изузетак е) {" и затим извршите разне наредбе ако претходна операција није могућа. Не заборавите да додате наруквицу на крају.
- Команда за бацање је такође врло практична. Примјер за то је код »инт див (инт а, инт б) баца« ⮩ »АритхметицЕкцептион {« ⮩ »ако (б == 0) {« ⮩ »баци нову АритхметицЕкцептион (" Подјељење са 0! ");« ⮩ »} Остало {« ⮩ »врати а / б;« ⮩ »}« ⮩ »}«. Изјава избацивања у методи дефинише који тип изузетка може добити метода. Кључна реч бацање одређује шта би требало да се догоди са овом изнимком.
- Практично: Један покушајни блок може садржавати неколико блокова хватања.
Користите теме на Јави
Нити вам омогућују истовремено покретање различитих команди на Јави. Постоје два различита начина за креирање нити.
- С једне стране, одређена класа може наследити класу "Конац". На пример, прво напишите "Лоадер класе продужује нит {". Затим морате дефинирати методу са "публиц воид рун () {" која описује функције нити. У другој класи сада можете користити наредбу "Лоадер обј = нев Лоадер ();" да бисте користили методу "обј.старт ();" за покретање нити.
- Алтернативно, можете да имплементирате „Руннабле“ интерфејс у класу. То можете учинити помоћу команде "цласс Лоадер имплементира Руннабле {". Поново дефинирајте начин покретања. Сада можете да започнете нит у другој класи са кодом "Конац т = нова нит (нови Лоадер ());" ⮩ "т.старт ();"
- Савет: Можете да користите наредбу "Тхреад.слееп (1000);" да нит остави секунду. Међутим, имајте на уму да ова наредба генерише ИнтерруптЕкцептион.
Креирајте листе на Јави
На Јави постоје две различите врсте листа: "АрраиЛист" и "ЛинкедЛист".
- Типично, низови у Јави могу похранити само одређени број објеката. Међутим, у Јава АПИ-ју постоји функција која се зове „АрраиЛист“. Прво напишите "импорт јава.утил.АрраиЛист;" да бисте увезли потребни пакет. Сада можете да користите наредбу АрраиЛист цолор = нев АрраиЛист (); да направите нову листу. По жељи, можете користити наредбу АрраиЛист цолор = нев АрраиЛист (10); да креирате листу која унапред одређује врсту и величину података.
- Сада можете нешто додати на листу помоћу команде »цолор.адд (" ... ");«. Са »цолоур.ремове (" ... ");« овај процес се може преокренути. Такође можете користити »цолор.цонтаинс (...);« да бисте упитали да ли листа садржи одређени елемент или користите наредбу »цолоур.гет (инт к);« да бисте добили вредност са одређеним индексом. Коначно, можете користити »цолор.сизе ();« да бисте упитали број елемената на листи и користили »цолоур.цлеар ();« за брисање свих елемената листе.
- Алтернативно, постоји и „ЛинкедЛист“, који можете да увезете командом »импорт јава.утил.ЛинкедЛист;«. Команде су овде исте; међутим, морате писати „ЛинкедЛист“ сваки пут уместо „АрраиЛист“. АрраиЛист је погоднији за чување објеката којима се касније може приступити. Ако желите да промените податке, требало би да користите ЛинкедЛист.
Јава: Користите ХасхМап
На горњим листама сваки објект има (цели) индекс. ХасхМап се користи за чување података са пар вредности које се састоје од "Кеи" и "Објецт".
- Увезите ХасхМап командом »импорт јава.утил.ХасхМап;«. Слично списковима, сада можете креирати ХасхМап командом »ХасхМап поени = нови ХасхМап ();«.
- Следеће, на пример, можете додати команду »поинтс.пут (« Ами », 154);«. Наредба »Систем.оут.принтлн (" поинтс.гет ("Ами")); «сада даје вредност 154. Опет, можете уклонити методе уклањања.
- ХасхМап не може садржавати објекте са два идентична тастера. Објект би једноставно био преписан. Методе "садржиКеи" и "съдържаВалуе" су врло практичне и могу се користити за провјеру да ли у ХасхМап-у постоји објект или кључ.
- Постоје и такозвани "хасх сетови". Скуп је збир вредности, при чему две идентичне вредности никада не могу постојати. За увоз се користи наредба импорт јава.утил.ХасхСет; На пример, можете да креирате нови сет помоћу наредбе »ХасхСет сет = нови ХасхСет ();«. Сада можете додати елементе у овај ХасхСет помоћу наредбе »сет.адд (" ... ");«. Наредба »Систем.оут.принтлн (сет);« коначно избацује све наредбе скупа.
- Обично се редослед елемената унутар хасх скупа не одржава стално. Међутим, ако желите, можете да користите „ЛинкедХасхСет“.
- Успут: таблица хасх-а чува информације кроз механизам зван "хасхинг", у коме се свака вредност кључа користи за одређивање јединствене вредности која се зове "хасх цоде". Једноставно речено, то значи да је сваки елемент скупа хасх-а повезан са хасх-кодом.
Поредите листе и користите итераторе
Да бисте још ефикасније радили са листама, можете их сортирати и користити итераторе.
- Јава АПИ такође укључује класу колекција. Једна од најпрактичнијих метода овде је метода сортирања. Све методе класе колекција су статичке методе, па их не треба поново декларирати. На пример, ако сте креирали АрраиЛист под називом "животиња", његове вредности можете наручити помоћу наредбе Цоллецтионс.сорт (анимал); Можете увести класу Цоллецтионс помоћу наредбе »импорт јава.утил.Цоллецтионс;«.
- Итератор је објект који кружи колекцијом и прима и може избрисати вриједности. Потребан пакет увезите командом »импорт јава.утил.итератор;«. У овом случају смо већ направили ЛинкедЛист под називом "животиње". Сада можете дефинирати итератор наредбом »Итератор ит = анимал.итератор ();«. Ако сада извршите команду »Систем.оут.принтлн (ит.нект ());«, први се елемент ЛинкедЛист-а изводи. Ако наредбу поново извршите, итератор креће корак даље и емитира други елемент. И овде можете уклонити елементе методом уклањања. Постоји и метода хасНект, помоћу које можете проверити да ли постоји још један елемент.
Јава: креирајте и користите датотеке
Једноставно можете да креирате и користите сопствене датотеке на Јави.
- Да бисте то учинили, прво морате увести потребни пакет помоћу наредбе "импорт јава.ио.Филе;". Затим одредите датотеку одговарајућом стазом помоћу наредбе »Филе филе = нев Филе (" Ц: \\ дата \\ инпут-филе.ткт ");«. Са »иф (к.екистс ()) {« можете проверите да ли датотека постоји. Име датотеке добијате са "к.гетНаме ()".
- У следећем кораку можете да креирате нови скенер помоћу команде »Сцаннер сц = нев Сцаннер (к);«. Опет, можете да користите наредбе као што су "сц.нект ()" или "сц.хасНект ()" да бисте прочитали податке из датотеке. Врло добро функционише у петљи. Не заборавите да затворите датотеку са "сц.цлосе ();" на крају.
- Да бисте могли да пишете у датотеке, прво морате да додате наредбу "импорт јава.утил.Форматтер;". Наредба »Форматтер ф = нев Форматтер (" Ц: \\ ЦХИП \\ тест.ткт ");« сада креира датотеку под називом "тест.ткт" на наведеној путањи.
- Да бисте могли да пишете у датотеку, можете да користите команду »ф.формат ("% с% с% с, "1", "Мак", "Мустерманн \ р \ н"); «. % с "за низ који је замењен првим параметром, други"% с "другим параметром, итд. Програм прелази на следећи ред притиском на" \ р \ н ".
Овде се завршава наша серија туторијала на програмском језику Јава. У следећем практичном савету представићемо вам увод у програмирање са Питхон-ом.