JavaRush /Blog Jawa /Random-JV /Ngopi #167. Bab sing kudu ditinjau sadurunge wawancara ba...

Ngopi #167. Bab sing kudu ditinjau sadurunge wawancara basa Jawa. Apa bedane enum lan iterator ing Jawa?

Diterbitake ing grup

Bab sing kudu ditinjau sadurunge wawancara basa Jawa

Sumber: Sedheng Ing artikel iki, sampeyan bakal nemokake 17 tips saka pangembang sing berpengalaman sing bakal mbantu sampeyan ing wawancara Jawa. Ngopi #167.  Bab-bab kang kudu ditliti sadurunge wawancara basa Jawa.  Apa bedane enum lan iterator ing Jawa?  - 1Aku wis makarya ing industri IT kanggo liwat 20 taun lan ngginakaken paling wektu karo Jawa. Kajaba iku, aku entuk akeh pengalaman wawancara karo pangembang Jawa. Senadyan basa Jawa tansah ngrembaka, konsep inti tetep padha. Ing ngisor iki sawetara tips sing arep dakkarepake karo para pangembang sadurunge arep wawancara. Yen sampeyan mbaleni maneh, bakal nylametake sampeyan saka kesalahan serius.
  1. Kelas Obyek ana ing oyod saka hirarki kelas Jawa. Kabeh kelas Jawa bali menyang Object . Malah yen kelas ora eksplisit ngluwihi sembarang kelas, iku ngluwihi Object . Nanging, kelas gratis kanggo ngluwihi Obyek kanthi tegas.

  2. Ing Jawa, sampeyan bisa nambah mung siji kelas (multiple warisan ora diijini amarga ambiguitas). Nanging, kelas bisa ngleksanakake nomer antarmuka ing wektu sing padha.

  3. Antarmuka ngluwihi antarmuka liyane (minangka gantos kanggo implementasine).

  4. Ana papat modifikasi akses ing Jawa: umum (kasedhiya kanggo kabeh wong), dilindhungi (mung kasedhiya kanggo subkelas), pribadi (mung kasedhiya ing kelas siji), standar (kasedhiya ing paket siji). Sampeyan kudu nyatet sing subclass saka kelas padha bisa ing paket beda. Kelas induk lan subkelas ora kudu dadi bagéan saka paket sing padha.

  5. String kelas ora bisa diganti. Immutability tegese kelas String dhewe ora nyedhiyakake cara kanggo ngganti nilai ing referensi String . Yen sampeyan pengin ngganti nilai referensi senar, sampeyan kudu nemtokake nilai kasebut kanthi jelas nggunakake operator = . Bandingake iki karo kelas StringBuffer utawa StringBuilder , sing duwe metode kaya append supaya sampeyan ora kudu nggunakake operator = ing kana .

  6. ConcurrentHashMap luwih efisien tinimbang Hashtable . ConcurrentHashMap ngoperasikake bagean saka struktur data sing ndasari, ing ngendi operasi nulis mung ngunci segmen tartamtu (preduli saka segmen kunci kasebut). Nanging, ing Hashtable kabeh struktur data bakal dikunci.

  7. ConcurrentHashMap luwih alon tinimbang HashMap amarga HashMap ora ngetrapake safety thread. HashMap bisa mbuwang ConcurrentModificationException yen thread iterates liwat HashMap lan thread liyane nyoba kanggo ngowahi HashMap padha . ConcurrentHashMap ora bakal mbuwang pengecualian ing kene.

  8. Kepiye carane ngetrapake kesetaraan rong obyek saka kelas sing padha sing wis ditetepake? Wangsulan: Bab iki bisa ditindakake kanthi ngganti metode hashcode () .

  9. Apa asil standar saka metode toString () ? Jawaban: Iku concatenation saka jeneng kelas, tandha @ lan nilai hashcode () .

  10. Kepiye carane ngetrapake polimorfisme ing Jawa? Salah siji cara kanggo nindakake iki yaiku overload metode. Cara liya yaiku mbatalake metode kasebut.

  11. Kepiye carane nelpon konstruktor superclass saka kelas bocah? Wangsulan: Bab ingkang utama iku bisa rampung nggunakake super() keyword . Cara super () tanpa argumen tansah disebut, sanajan ora kasebut kanthi tegas. Cara super () kanthi argumen kudu ditemtokake kanthi eksplisit. Telpon kanggo super () (nganggo utawa tanpa bantahan) kudu tansah baris pisanan ing konstruktor kelas anak yen dibutuhake kanggo disebut.

  12. Apa pengecualian sing dicenthang lan ora dicenthang? Wangsulan: Pangecualian sing dicenthang yaiku sing kudu diumumake utawa kejiret ing cara sing dikarepake bakal dibuwang. Pangecualian sing ora dicenthang ora duwe watesan iki. java.io.IOException minangka conto pangecualian sing dicenthang. Pangecualian sing ora dicenthang teka saka kelas RunTimeException .

  13. Kelas ROOT saka hirarki pangecualian yaiku Throwable (sing sacara implisit ngluwihi Object ). Pangecualian lan Kesalahan asale saka Throwable .

  14. Wiwit Java 8, cara bisa duwe implementasine ing antarmuka. Cara standar lan cara statis bisa duwe implementasine.

  15. Kelas sing nduweni kualifikasi minangka abstrak ora bisa instantiated. Sembarang kelas sing ora nyedhiyakake awak kanggo metode apa wae kudu diumumake abstrak. Pangembang bisa ngumumake kelas dadi abstrak sanajan kabeh metode duwe awak - Nanging, iki ora dianjurake banget amarga ing kasus iki kelas kasebut ora bisa instantiated.

  16. Kelas pungkasan ora bisa ditambahi. Variabel pungkasan ora bisa diwenehi nilai liyane. Cara pungkasan ora bisa diganti.

  17. Tembung kunci apa sing dibutuhake ing konstruksi try-catch-finally ? Iki bisa dadi nyoba-nyekel , nyoba-akhire , utawa kabeh telu. Ing kasus iki, catch dudu tembung kunci sing dibutuhake.

Apa bedane enum lan iterator ing Jawa?

Sumber: Rrtutors Kiriman iki kanggo sampeyan mbahas bedane enumerasi lan iterasi ing basa Jawa. Paket Java.util nyedhiyakake rong antarmuka kanggo njelajah unsur obyek Koleksi : Enumerasi lan Iterator . Sanajan loro-lorone ngliwati obyek Koleksi , ana sawetara bedane.

Bedane antarane enum lan iterator

  • Wektu ditambahake menyang JDK: Padha dikenalake ing wektu sing beda. Enum dikenalake ing JDK 1.0, nalika iterator dikenalake ing JDK 1.2.

  • Njabut unsur: Iki prabédan utama antarane loro. Ing antarmuka Iterator , kita bisa mbusak unsur nalika iterasi liwat obyek Koleksi , déné kita ora bisa ngganti nalika iterasi liwat obyek Koleksi nggunakake Enumeration . Iki amarga antarmuka Iterator duwe cara mbusak () , nanging antarmuka Enumeration ora.

  • Jinis operasi: Iterator nduweni jinis operasi gagal-cepet, lan enumerasi nduweni jinis operasi gagal-aman. Akibaté, Iterator uncalan ConcurrentModificationException nalika koleksi diowahi sak pengulangan kajaba mbusak dhewe () cara digunakake , nalika Enumeration ora uncalan pangecualian nalika koleksi diowahi sak pengulangan.

Tuladha Enumerasi lan Iterator ing Jawa

Tuladha enumerasi

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Enumeration;

import java.util.List;

import java.util.Vector;

public class Enumeration_Example {

      public static void main(String[] args) {

                  List laptoplist = new ArrayList(Arrays.asList( new String[] {"Samsung", "Lenovo", "Apple", "HP"}));

            Vector vectali = new Vector(laptoplist);

            delete(vectali, "Samsung");

        }

        private static void delete(Vector vectali, String laptop) {

            Enumeration lapi = vectali.elements();

            while (lapi.hasMoreElements()) {

              String s = (String) lapi.nextElement();

              if (s.equals(laptop)) {

                  vectali.remove(laptop);

              }

            }

            System.out.println("The Laptop brands includes:");

            lapi = vectali.elements();

            while (lapi.hasMoreElements()) {

              System.out.println(lapi.nextElement());

            }

      }

}
Kesimpulan:
Merek Laptop kalebu: Lenovo Apple HP

Tuladha iterator:

import java.util.ArrayList;

import java.util.Arrays;

import java.util.Iterator;

import java.util.List;

import java.util.Vector;

public class Iterator_example {

      public static void main(String[] args) {

                  List laptoplist = new ArrayList(Arrays.asList( new String[] {"Samsung", "Lenovo", "HP", "Apple"}));

            Vector vectali = new Vector(laptoplist);

            delete(vectali, "HP");

        }

        private static void delete(Vector vectali, String name) {

            Iterator a = vectali.iterator();

            while (a.hasNext()) {

              String s = (String) a.next();

              if (s.equals(name)) {

                  a.remove();

              }

            }

            // Display the names

            System.out.println("The laptop brand includes:");

            a = vectali.iterator();

            while (a.hasNext()) {

              System.out.println(a.next());

            }

      }

}
Kesimpulan:
Merek laptop kalebu: Samsung Lenovo Apple
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION