35 + Java 8 Ερωτήσεις και Απαντήσεις Συνέντευξης (2025)
Είτε πρόκειται για τεχνικό είτε για οποιονδήποτε άλλο επαγγελματία, οι συνεντεύξεις πάντα εκτοξεύουν την αδρεναλίνη από τη νευρικότητα. Ωστόσο, για να ξεχωρίσετε από το πλήθος, είναι σημαντικό να γυαλίσετε τις δεξιότητές σας και να στοιχηματίσετε στις ικανότητές σας. Επιπλέον, έχοντας στα χέρια τους τις συχνές ερωτήσεις Java 8 ερωτήσεις και απαντήσεις συνέντευξης μπορούν να σας βοηθήσουν.
Ως εκ τούτου, ψάξτε βαθιά σε αυτές τις ερωτήσεις συνέντευξης java 8 για έμπειρους και αρχάριους για να δώσετε άσσο στις επερχόμενες συνεντεύξεις σας.
Java 8 Ερωτήσεις Συνέντευξης για Νεομαθείς και Εμπειρίες
1) Java Το 8 εμπίπτει σε ποιο πρότυπο προγραμματισμού;
Java 8 εμπίπτει στο ακόλουθο πρότυπο προγραμματισμού:
- Γλώσσα προγραμματισμού προσανατολισμένη στο αντικείμενο ή στην τάξη.
- Λειτουργική γλώσσα προγραμματισμού.
- Καθορισμένη διαδικαστική γλώσσα προγραμματισμού.
- Λογική γλώσσα προγραμματισμού.
2) Γιατί να χρησιμοποιήσει κανείς την προαιρετική κλάση;
Η προαιρετική κλάση είναι μια κλάση κοντέινερ που εισήχθη πρόσφατα και είναι χρήσιμη για την επίδειξη των υφιστάμενων ή μη προαιρετικών τιμών. Το κύριο πλεονέκτημά του είναι ότι αποφεύγει τους μηδενικούς & άκυρους ελέγχους και διευκολύνει μεθόδους χρήσιμες για τον έλεγχο της ύπαρξης μιας τιμής για μια συγκεκριμένη μεταβλητή.
3) Ονομάστε μερικά πρόσφατα χαρακτηριστικά που εισήχθησαν Java 8.
Παρακάτω είναι οι πιο πρόσφατες λειτουργίες που εισάγονται Java 8:
- Εκφράσεις λάμδα: Πρόκειται για μια Java συνάρτηση που μπορείτε να μοιραστείτε ή να την αναφέρετε ως αντικείμενο.
- Παρεμβολή μεθόδου: Χρησιμοποιεί τη συνάρτηση ως κριτήριο για την εφαρμογή μιας μεθόδου.
- Λειτουργικές παρεμβολές: Κάθε λειτουργική παρέμβαση συνδέεται με μια μοναδική αφηρημένη μέθοδο που είναι γνωστή ως λειτουργική μέθοδος.
- Προεπιλεγμένη μέθοδος: Είναι χρήσιμο στην εφαρμογή μεθόδων στις διεπαφές που βοηθούν στην ενεργοποίηση της δυνατότητας «εξέλιξης διεπαφής».
- Date Time API: Είναι μια βελτιωμένη αλλά εμπνευσμένη έκδοση των java time API για την αντιμετώπιση των μειονεκτημάτων της τελευταίας έκδοσης.
- Stream API αναφέρεται ως το αφηρημένο επίπεδο, το οποίο βοηθά στη διοχέτευση των δεδομένων επεξεργασίας.
- Προαιρετικά: Η κλάση wrapper είναι χρήσιμη για τον έλεγχο των μηδενικών τιμών και την επεξεργασία των περαιτέρω δεδομένων.
- JavaΣενάριο και Μηχανή Nashorn: Είναι η βελτιωμένη έκδοση του JavaScript Engine, το οποίο είναι χρήσιμο για την ενεργοποίηση της λειτουργικότητάς του σε Java, αντικαθιστώντας το Rhino.
4) Προσδιορίστε τα πλεονεκτήματα της χρήσης java 8
Εδώ είναι μερικά οφέλη από τη χρήση Java 8:
- Βοηθά στη δημιουργία εφαρμογών πολύ πιο γρήγορα και με ευκολότερο τρόπο.
- Παρέχει ένα πολύ σταθερό περιβάλλον για τους προγραμματιστές.
- Συνοπτικοί, επαναχρησιμοποιήσιμοι και εύκολοι στην κατανόηση κώδικες.
- Βελτιωμένη και αποτελεσματική υποστήριξη.
- Εύκολη μεταφορά σε διάφορα λειτουργικά συστήματα.
- Ελάχιστοι κωδικοί λέβητα.
5) Τι είναι μια συλλογή και σε τι διαφέρει από μια ροή;
Μια συλλογή είναι μια βάση δεδομένων στη μνήμη που καταγράφει όλες τις τιμές σύμφωνα με την τρέχουσα δομή δεδομένων. Επομένως, πριν προσθέσετε το προσθέσετε στη συλλογή, είναι σημαντικό να υπολογίσετε καθένα από αυτά. Ενώ μια ροή είναι μια οπτικά σταθερή δομή δεδομένων όπου μπορούμε να υπολογίσουμε τα στοιχεία σύμφωνα με τις ανάγκες μας.
6) Τι είναι η έκφραση Λαμπάδα;
Η έκφραση Lambada είναι ένα είδος συνάρτησης που δεν έχει όνομα και μερικές φορές αναφέρεται ως η ανώνυμη συνάρτηση επειδή δεν έχει τον δικό της τύπο πληροφοριών. Μπορείτε να το χρησιμοποιήσετε ανάλογα με τις ανάγκες σας και είναι πολύ χρήσιμο για την επανάληψη, το φιλτράρισμα και την εξαγωγή οποιωνδήποτε δεδομένων από τη συλλογή.
Παράδειγμα:
import java. util.Arrays; import java.util.List; import java.util.stream.Collectors; public class LambdaExpressionExample { public static void main(String[] args) { List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Dave"); List<String> filteredNames = names.stream() .filter(name -> name.startsWith("C")) .map(name -> name.toUpperCase()) .collect(Collectors.toList()); System.out.println(filteredNames); } }
Παραγωγή:
Charlie
7) Ορίστε τη σωλήνωση ρεμάτων
Ο αγωγός ροής είναι μια μέθοδος ομαδοποίησης διαφορετικών λειτουργιών συνολικά. Μπορείτε να το πετύχετε αυτό κατηγοριοποιώντας τις λειτουργίες ροής του σε δύο μέρη. Ενδιάμεσες και τερματικές λειτουργίες.
Κάθε φορά που εκτελείται μια ενδιάμεση λειτουργία, αναπηδά ένα στιγμιότυπο στον αγωγό ροής. Επομένως, οποιοσδήποτε χρήστης μπορεί να ρυθμίσει έναν παράλογο αριθμό ενδιάμεσων λειτουργιών για να εξορθολογίσει τα δεδομένα και τελικά να σχηματίσει μια διοχέτευση επεξεργασίας.
Επιπλέον, για τον τερματισμό των αγωγών, είναι απαραίτητο να υπάρχει τερματική λειτουργία στο τέλος της διαδικασίας.
8) Σε τι εντάσσονται το κατηγόρημα και ο καταναλωτής Java 8?
Το κατηγόρημα είναι μια λειτουργική διεπαφή που συνήθως λαμβάνει ορίσματα και ανακτά μια τιμή Boole. Μπορείτε να το χρησιμοποιήσετε για να εφαρμόσετε φίλτρο για μια συλλογή αντικειμένων.
Από την άλλη πλευρά, ο καταναλωτής αναφέρεται ως μια λειτουργική διεπαφή που βρίσκεται στο build Java.util.function πακέτο. Μπορείτε να το χρησιμοποιήσετε για να καταναλώσετε οποιοδήποτε αντικείμενο, και παίρνει την τιμή εισόδου και δεν δίνει τίποτα.
9) Γιατί χρησιμοποιείται η μέθοδος peek () σε Java 8?
Η μέθοδος peek() βοηθά στην υποστήριξη του εντοπισμού σφαλμάτων, όπου κάποιος θέλει να παρατηρήσει τα στοιχεία καθώς τείνουν να ρέουν από ένα συγκεκριμένο σημείο σε μια διοχέτευση. Είναι μια αναπαράσταση της παρατήρησής μας για το πώς περνά κάθε στοιχείο.
Σύνταξη: public Object peek()
10) Τι σας κάνει τον ιδανικό υποψήφιο για το Java ρόλος προγραμματιστή;
Εδώ είναι μερικές σημαντικές ιδιότητες που μπορούν να σας κάνουν ιδανικό υποψήφιο για το Java ρόλος προγραμματιστή:
- Θα πρέπει να έχετε την ικανότητα να γράφετε σαφείς, κατανοητούς και αποτελεσματικούς κώδικες.
- Μια βαθιά κατανόηση των προτύπων και των εννοιών του "OOP ή αντικειμενοστραφής προγραμματισμός. "
- Καλή γνώση διαφόρων αρχιτεκτονικών και σχεδιαστικών μοτίβων.
- Εξοικείωση με Java μοτίβα συγχρονισμού.
- Εμπειρία και γνώση εργασίας με διάφορα πλαίσια web εφαρμογών όπως π.χ Spark και παίζω.
- Θεμελιώδη γνώση του Java Εικονική μηχανή ή JVM, τα μειονεκτήματά της, λύση κ.λπ.
- Μια καλή εμπειρία στη χρήση ενσωματωμένων και εξωτερικών βάσεων δεδομένων.
11) Εξηγήστε τη «Λειτουργική διεπαφή».
Μια διεπαφή με μία μόνο περίληψη ονομάζεται λειτουργική διεπαφή. Είναι επίσης γνωστή ως Μονή Αφηρημένη Μέθοδος ή SAM. Ωστόσο, ο σχολιασμός @FunctionalInterface είναι προαιρετικός και μπορεί να χρησιμοποιηθεί ακόμα κι αν δεν υπάρχει. Επεκτείνεται στην άλλη διεπαφή εάν δεν έχει καμία περίληψη.
12) Γιατί χρειάζονται στατικές μέθοδοι σε Java 8?
Η αναφορά στατικής μεθόδου αναφέρεται ως βοηθητική μέθοδος ή βοηθητική μέθοδος, η οποία συνδέεται με μια διεπαφή. Είναι επίσης μια κλάση που δεν συνδέεται με κανένα αντικείμενο.
Ακολουθούν οι λόγοι για τη χρήση της μεθόδου Static in Java:
- Χρήσιμο για τη διατήρηση και επέκταση του API.
- Συνεπάγεται ένα σαφές και συνοπτικό μερίδιο ευθυνών και δεν χρειάζεται να έχετε μία κατηγορία βοηθητικών προγραμμάτων για να έχετε τις συλλογές βοηθητικών προγραμμάτων.
- Χρήσιμο για τη διατήρηση όλων των διεπαφών σε μια κοινή διεπαφή αντί για συγκεκριμένες διεπαφές.
13) Ποια είναι τα πλεονεκτήματα του Nashorn;
Το Nashorn είναι το πιο προηγμένο και νέο JavaΓραφή κινητήρας επεξεργασίας που εισάγεται σε Java 8. Παλιότερα βασιζόταν στο Mozilla Rhino. Παρέχει βελτιωμένη συμμόρφωση με το ECMA JavaΓραφή. Είναι πιο γρήγορο από τις προηγούμενες εκδόσεις του.
14) Πώς διαφέρουν το API συλλογής και το API ροής;
Ακολουθούν ορισμένες σημαντικές διαφορές μεταξύ του API συλλογής και του API ροής
API συλλογής | Stream API |
---|---|
Το API συλλογής χρησιμοποιήθηκε για πρώτη φορά στο Java 1.2 | Το Stream API εισήχθη για πρώτη φορά Java ΑΝ 8. |
Μπορείτε να το χρησιμοποιήσετε για να αποθηκεύσετε απεριόριστα δεδομένα. | Μπορείτε να το χρησιμοποιήσετε για να υπολογίσετε απεριόριστα δεδομένα. |
Το API συλλογής σάς επιτρέπει να χρησιμοποιείτε το Iterator και το Spilterator για την επανάληψη των δεδομένων. | Το Stream API σάς επιτρέπει να χρησιμοποιείτε το Iterator και το Spilterator για την επανάληψη των δεδομένων. |
Η πρόσβαση στο API συλλογής είναι εύκολη. | API σε ροή, δεν υπάρχει άμεσος τρόπος προσέγγισης συγκεκριμένων στοιχείων. |
Δίνει επίσης ευκολία στην επεξεργασία του σύμφωνα με τις ανάγκες σας. | Το Stream API μπορεί να υποβληθεί σε επεξεργασία μόνο μία φορά. |
15) Περιγράψτε το PermGenSpace και το MetaSpace.
Το PermGen ή το Permanent Generation Space είναι ένας μοναδικός τύπος χώρου σωρού που χρησιμοποιείται για την παρακολούθηση των αποθηκευμένων μεταδεδομένων, τα οποία πλέον καταργούνται στο Java 8.
Με αυτή τη νέα έκδοση, η αποθήκευση των μεταδεδομένων θα γίνεται σε παρόμοια μνήμη γνωστή ως "MetaSpace". Δεν είναι μεταβιβάσιμο Java Heap memory και είναι μια βελτιωμένη έκδοση του PermGen σε θέματα αυτόματου συντονισμού, συλλογής σκουπιδιών κ.λπ.
16) Πώς δημιουργείται η λειτουργική διεπαφή στο Java 8?
Μπορείτε να χρησιμοποιήσετε έκφραση λάμδα για να εφαρμόσετε την αφηρημένη μέθοδο της λειτουργικής διεπαφής Java 8. Παρακάτω είναι ένα παράδειγμα κωδικοποίησης του ίδιου:
Παράδειγμα
import java.util.function.Consumer; public class FunctionalInterfaceExample { public static void main(String[] args) { Consumer<String> printer = System.out::println; printer.accept("Hello, world!"); } }
Παραγωγή:
Hello, world!
17) Ποιες είναι οι διαφορές και οι ομοιότητες μεταξύ Συνάρτησης και Κατηγορήματος σε Java 8?
Εδώ είναι οι διαφορές μεταξύ Function και Predicate in Java 8:
- Η συνάρτηση είναι χρήσιμη στον μετασχηματισμό, ενώ το κατηγόρημα μπορεί να χρησιμοποιηθεί για τον έλεγχο οποιασδήποτε συνθήκης.
- Η συνάρτηση μπορεί να λάβει ένα όρισμα και να δώσει ένα αποτέλεσμα, ενώ το κατηγόρημα μπορεί επίσης να λάβει ένα όρισμα, αλλά δίνει μόνο τη Boolean τιμή.
- Η συνάρτηση συμβολίζεται με , και το Κατηγόρημα συμβολίζεται με μόνο , όπου T είναι ο τύπος συνάρτησης και R είναι το αποτέλεσμα.
Παρακάτω είναι οι ομοιότητες μεταξύ Συνάρτησης και Κατηγορήματος:
- Τόσο η συνάρτηση όσο και το κατηγόρημα είναι λειτουργικές διεπαφές.
- Τόσο η συνάρτηση όσο και το κατηγόρημα είναι συναρτήσεις μεμονωμένου ορίσματος.
18) Εξηγήστε τη διαφορά μεταξύ skip(long) και limit(long) χρησιμοποιώντας ένα παράδειγμα.
Το skip (long) είναι μια ενδιάμεση λειτουργία που ανακτά τα στοιχεία που έχουν απομείνει μετά την εξάλειψη των αρχικών n στοιχείων μιας συγκεκριμένης ροής.
Παράδειγμα:
import java.util.Arrays; import java.util.List; public class SkipExample { public static void main(String[] args) { List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Dave", "Eve"); // Create a stream from the names list names.stream() // Skip the first two elements of the stream .skip(2) // Print the remaining elements to the console .forEach(System.out::println); } }
Παραγωγή:
Charlie Dave Eve
Το όριο (μακρύ) ανακτά τη ροή των στοιχείων συγκεκριμένου μεγέθους
Παράδειγμα:
import java.util.Arrays; import java.util.List; public class LimitExample { public static void main(String[] args) { List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Dave", "Eve"); // Create a stream from the names list names.stream() // Limit the stream to the first three elements .limit(3) // Print the elements to the console .forEach(System.out::println); } }
Παραγωγή:
AliceBob Charlie
19) Σε ποια κατάσταση είναι πιο κατάλληλη για χρήση του API ροής Java 8?
Μπορείτε να χρησιμοποιήσετε το API ροής στο Java 8. Υπάρχει ανάγκη για τις παρακάτω λειτουργίες:
- Μπορείτε να πραγματοποιήσετε παράλληλη επεξεργασία.
- Για την εκτέλεση νωχελικών λειτουργιών
- Για να εκτελέσετε λειτουργίες βάσης δεδομένων
- Χρήση για εσωτερικές επαναλήψεις.
- Για τη συγγραφή προγραμματισμού λειτουργικού στυλ
- Μπορείτε να το χρησιμοποιήσετε για τη χρήση λειτουργιών αγωγών.
20) Ποια είναι η λειτουργία του Type Inference;
Το Type Inference βοηθά τον μεταγλωττιστή να αναγνωρίσει ή να αναγνωρίσει τους τύπους ορισμάτων έχοντας απλώς μια επισκόπηση της αντίστοιχης δήλωσης και επίκλησης μεθόδου.
21) Ποιος είναι ο ευκολότερος τρόπος εντοπισμού και εξάλειψης διπλών στοιχείων από μια λίστα Java 8?
Ο ευκολότερος τρόπος για να εντοπίσετε και να αφαιρέσετε τα διπλά στοιχεία είναι χρησιμοποιώντας τη λειτουργία ροής και πραγματοποιώντας μια συλλογή, ακολουθούμενη από τη χρήση της μεθόδου Collections.toSet().
22) Ποιες είναι οι οδηγίες για τη λειτουργική διεπαφή;
Παρακάτω είναι οι οδηγίες για μια λειτουργική διεπαφή που είναι από τις πιο ζητούμενες Java 8 ερωτήσεις προγραμματισμού:
- Θα πρέπει να έχει μόνο μία αφηρημένη μέθοδο.
- Μπορείτε να έχετε όσες προεπιλεγμένες μεθόδους δεν είναι αφηρημένες και η υλοποίηση δίνεται νωρίτερα από την ίδια.
- Μια αφηρημένη μέθοδος, το κύριο στοιχείο των δημοσίων μεθόδων από Java.lang, είναι γνωστό σε μια λειτουργική διεπαφή. Το αντικείμενο εξακολουθεί να θεωρείται ως χρήσιμη διεπαφή.
Σημείωση: Η εξήγηση για αυτό είναι ότι κάθε κλάση υλοποίησης για αυτήν τη διεπαφή μπορεί να έχει μια υλοποίηση για αυτήν την αφηρημένη μέθοδο που είτε ορίζεται από την ίδια την κλάση υλοποίησης είτε λαμβάνεται από μια υπερκλάση.
23) Διακρίνετε τον διαχωριστή και τον επαναληπτικό.
Ακολουθούν ορισμένες διαφορές μεταξύ του spliterator και του iterator:
Διαχωριστής | Επαναληπτής |
---|---|
Εισήχθη σε Java 1.2. | Εισήχθη σε Java 1.8. |
Επαναλαμβάνει μόνο όλα τα στοιχεία ξεχωριστά. | Εγκάρσια όλα τα στοιχεία χωριστά καθώς και χύμα. |
Λειτουργεί ως επαναλήπτης για μια πλήρη συλλογή API. | Λειτουργεί ως επαναλήπτης για το API ροής και συλλογής. |
Δεν θα υποστηρίζει παράλληλο προγραμματισμό. | Υποστηρίζει παράλληλο προγραμματισμό. |
24) Πώς μπορείτε να καλέσετε μια προεπιλεγμένη μέθοδο μιας διεπαφής σε μια κλάση;
Η προεπιλεγμένη λέξη-κλειδί, η οποία υπάρχει στην αρχή της υπογραφής της μεθόδου, χρησιμοποιείται για να ορίσει μια δήλωση μεθόδου σε μια διεπαφή ως προεπιλεγμένη μέθοδο. Μπορείτε να παραλείψετε τον δημόσιο τροποποιητή επειδή κάθε δήλωση μεθόδου σε μια διεπαφή, συμπεριλαμβανομένων των προεπιλεγμένων μεθόδων, είναι αυτόματα δημόσια.
25) Ορίστε την προεπιλεγμένη μέθοδο. Πότε μπορείτε να το χρησιμοποιήσετε;
Η προεπιλεγμένη μέθοδος υπάρχει στη διεπαφή και περιλαμβάνει μια υλοποίηση. Αυτή η μέθοδος είναι χρήσιμη για την προσθήκη νέας λειτουργικότητας σε μια δεδομένη διεπαφή, διατηρώντας παράλληλα τη συμβατότητα προς τα πίσω μαζί με τις κλάσεις της που έχουν ήδη εφαρμοστεί σε μια διεπαφή.
26) Πώς δημιουργούνται οι ροές στο Java, και είναι από τις πιο δημοφιλείς ερωτήσεις συνέντευξης java 8 stream;
Ροές σε Java περιγράψτε την ακολουθία αντικειμένων από μια συγκεκριμένη πηγή, όπως μια συλλογή, που θα υποστηρίζει συγκεντρωτικές λειτουργίες. Μπορείτε να το χρησιμοποιήσετε για συλλογή, φιλτράρισμα, εκτύπωση και αλλαγή μιας δομής δεδομένων σε άλλη.
Ακολουθούν τα παραδείγματα για το πώς να δημιουργήσετε ροές σε Java:
import java.util.stream.Stream; public class StreamExample { public static void main(String[] args) { Stream<String> stream = Stream.of("Alice", "Bob", "Charlie", "Dave", "Eve"); stream.forEach(System.out::println); } }
Παραγωγή:
Alice Bob Charlie Dave Eve
27) Τι είναι οι λειτουργίες ροής Map και FlatMap;
Το Map και το FlatMap θεωρούνται ως οι λειτουργίες ροής και ενδιάμεσης ροής που δέχονται μια συνάρτηση. Βοηθά επίσης στην εφαρμογή της δεδομένης συνάρτησης στα υπόλοιπα στοιχεία.
28) Γιατί πρέπει να αλλάξουμε το Java γλώσσα προγραμματισμού συχνά;
Πρέπει να αλλάξουμε το Java γλώσσα προγραμματισμού συχνά για τους παρακάτω λόγους:
- Μπορείτε να χρησιμοποιήσετε τις δυνατότητες του Λειτουργικός προγραμματισμός.
- Για αποτελεσματική χρήση της τελευταίας τεχνολογίας πολυπύρηνων CPU.
29) Αναφέρετε μερικές λειτουργικές διεπαφές που χρησιμοποιούνται σε Java 8.
Παρακάτω είναι μερικές λειτουργικές διεπαφές που χρησιμοποιούνται σε Java 8:
- BinaryOperaTor
- Καταναλωτής
- Λειτουργία
- Προμηθευτής
- UnaryOperaTor
- BiFunction
- Κατηγορούμενο
30) Ποιες είναι οι κύριες κατηγορίες API για την ώρα και την ημερομηνία;
Παρακάτω παρατίθενται οι κύριες κατηγορίες API για την ώρα και την ημερομηνία που χρησιμοποιούνται Java 8:
- Τοπική ώρα
- LocalDateTime
- ΤοπικήΗμερομηνία
31) Δώστε τη βασική δομή/σύνταξη της έκφρασης Λάμδα.
Η βασική δομή/σύνταξη της έκφρασης λάμδα είναι:
(arugument - list) - > {body}
Εδώ,
- Επιχείρημα – λίστα: Μπορείτε να το κρατήσετε γεμάτο ή άδειο.
- Διακριτικό βέλους: Είναι χρήσιμο για τη σύνδεση εκφράσεων σώματος και ορισμάτων – λίστας.
- Σώμα: Αποτελείται από δηλώσεις και εκφράσεις για την έκφραση λάμδα.
32) Ποια είναι τα κύρια χαρακτηριστικά του Stream;
Παρακάτω είναι τα κύρια χαρακτηριστικά του Stream:
- Σωληνώσεις
- Πηγή
- Σύνολο Operaσεις
- Ακολουθία Στοιχείων
- Αυτόματες επαναλήψεις
33) Ποιες είναι οι πιο συνηθισμένες ενδιάμεσες πράξεις;
Μερικοί από τους πιο συνηθισμένους τύπους ενδιάμεσων εκφράσεων είναι:
- Διακριτή ()
- Παράλειψη (μακρύ n)
- Φίλτρο (κατηγόρημα)
- Όριο (μακρύ n)
- Χάρτης (Λειτουργία)
34) Ποιοι είναι οι πιο συνηθισμένοι τύποι λειτουργιών τερματικού;
Παρακάτω είναι οι πιο συνηθισμένοι τύποι λειτουργιών τερματικού:
- Κόμης
- Μειώστε
- Ελάχ.
- AllMatch
- Μέγ.
- AnyMatch
- Στο Array
35) Τι είναι η αναφορά στη μέθοδο Java 8?
Αναφορά μεθόδου στο Java 8 είναι ένας τρόπος αναφοράς στη λειτουργική διεπαφή. Είναι γνωστό ως μια πολύ πιο εύκολη και αποτελεσματική μορφή έκφρασης λάμδα. Όταν χρησιμοποιείτε εκφράσεις λάμδα για να παραπέμψετε μια μέθοδο, μπορείτε να την αντικαταστήσετε με την αναφορά μεθόδου.
36) Πώς διαφέρουν οι εσωτερικές και οι εξωτερικές επαναλήψεις;
Παρακάτω είναι οι διαφορές μεταξύ εσωτερικής και εξωτερικής επανάληψης:
Εσωτερική Επανάληψη | Εξωτερική επανάληψη |
---|---|
Είναι επίσης γνωστό ως παθητικός ή άρρητος επαναλήπτης. | Είναι επίσης γνωστό ως ενεργός ή ρητός επαναλήπτης. |
Μεταφέρεται εσωτερικά σε διάφορα αντικείμενα. | Μεταφέρεται εξωτερικά σε διάφορα αντικείμενα. |
Χρησιμοποιείται στον λειτουργικό προγραμματισμό. | Χρησιμοποιείται στον αντικειμενοστραφή προγραμματισμό. |
Αντιπροσωπεύει πολύ λιγότερα σφάλματα. Ωστόσο, η κωδικοποίηση είναι απαραίτητη για αυτό. | Αντιπροσωπεύει περισσότερα σφάλματα. Ωστόσο, η κωδικοποίηση δεν είναι απαραίτητη. |
37) Έχει χρησιμοποιηθεί συμπέρασμα τύπου σε προηγούμενες εκδόσεις του Java?
Java εισήγαγε παρεμβολή τύπου σε Java 5 αλλά με πολύ περιορισμένη πρόσβαση. Αλλά με τα χρόνια, οι δυνατότητες παρεμβολής τύπου έχουν αυξηθεί και είναι στα καλύτερά της Java 8.
38) Γράψτε α Java 8 πρόγραμμα που μπορεί να βρει τον ελάχιστο και μέγιστο αριθμό μιας ροής.
import java.util.Arrays; import java.util.stream.IntStream; public class MinMaxExample { public static void main(String[] args) { int[] numbers = {9, 3, 8, 1, 5, 7, 2, 6, 4}; int min = IntStream.of(numbers).min().getAsInt(); int max = IntStream.of(numbers).max().getAsInt(); System.out.println("Minimum number: " + min); System.out.println("Maximum number: " + max); } }
Παραγωγή:
Minimum number: 1 Maximum number: 9
39) Πώς συνδέει κανείς πολλές συμβολοσειρές μέσω της κλάσης StringJoiner;
Το StringJoiner βοηθά στη σύνδεση ενός ή περισσότερων String και μπορεί να γίνει μέσω ενός συγκεκριμένου συνδέσμου ή οριοθέτη. Για παράδειγμα, μπορεί κανείς να ενώσει μια σειρά από συμβολοσειρές χωρίζοντάς τες με κόμμα (,).
Για τη δημιουργία μιας συμβολοσειράς CSV, μπορεί κανείς να δημιουργήσει μια πλήρη διαδρομή για έναν συγκεκριμένο κατάλογο στο Linux, η οποία μπορεί να γίνει ενώνοντας τη συμβολοσειρά με τη βοήθεια της κάθετης προς τα εμπρός "/."
40) Ποια είναι η καλύτερη εναλλακτική για τις εκφράσεις λάμδα σε Java 8?
Σε γενικές γραμμές, χρησιμοποιούμε εκφράσεις λάμδα για να δημιουργήσουμε ανώνυμες μεθόδους που βοηθούν στη λήψη του επιθυμητού αποτελέσματος. Ωστόσο, υπάρχουν περιπτώσεις όπου οι εκφράσεις λάμδα αποτυγχάνουν να λειτουργήσουν και χρησιμοποιούν μόνο μια υπάρχουσα μέθοδο.
Έτσι, για να αποφύγετε αυτό, μπορείτε να χρησιμοποιήσετε αναφορά μεθόδου που μπορεί να σας βοηθήσει να λάβετε το επιθυμητό αποτέλεσμα. Η αναφορά της μεθόδου απεικονίζεται χρησιμοποιώντας το σύμβολο: (διπλή άνω και κάτω τελεία).