Sự khác nhau giữa Set với Map trong java
Dưới đây là các câu hỏi phỏng vấn Java Collections thường gặp nhất kèm theo câu trả lời. Điều này sẽ giúp bạn giải mã các câu hỏi phỏng vấn tuyển tập vào năm 2021. Show
1. Framework là gì?Khung công tác là một kiến trúc được xác định trước có chứa một tập hợp một số lớp và giao diện có thể được sử dụng trực tiếp mà không cần bất kỳ sửa đổi nào. 2. Khung Bộ sưu tập là gì?Trong Java, tập hợp là một thực thể duy nhất đại diện cho một nhóm đối tượng và khung là một kiến trúc được xác định có chứa các giao diện và lớp. Do đó, khung công tác Bộ sưu tập Java là một kiến trúc xác định một định giao diện, lớp và thuật toán. Khung này có sẵn từ JDK 1.2. Nó cũng có thể thực hiện các hoạt động như tìm kiếm, chèn, sắp xếp, xóa, thao tác, v.v. 3. Lớp Collections là gì?Collections là một lớp trong Java là một phần của gói java.util và chứa nhiều phương thức tĩnh khác nhau mà chúng ta có thể sử dụng để thực hiện các thao tác trên Collections. Nó cũng chứa các phương thức cho các thuật toán khác nhau như phân loại, tìm kiếm nhị phân, v.v. 4. Sự khác biệt giữa Mảng và Bộ sưu tập là gì?
5. Các giao diện khác nhau hiện diện trong khuôn khổ Bộ sưu tập là gì?Giao diện bộ sưu tập: Đây là giao diện gốc của hệ thống phân cấp khuôn khổ Bộ sưu tập. Các giao diện khác có mặt trong khuôn khổ Bộ sưu tập là giao diện Bản đồ và lặp lại. Các giao diện này còn có các giao diện con vì không có triển khai trực tiếp cho giao diện Bộ sưu tập. Giao diện Bộ sưu tập chứa Danh sách, Đặt và Giao diện hàng đợi. Giao diện danh sách: Đây là một tập hợp các phần tử có thứ tự cho phép lưu trữ các giá trị trùng lặp. Đặt giao diện: Đây là một tập hợp các phần tử không có thứ tự và không cho phép các giá trị trùng lặp. Giao diện hàng đợi: Nó thực hiện hàng đợi cấu trúc dữ liệu và tuân theo khái niệm FIFO (First-In-First-Out). Giao diện Deque: Đây là hàng đợi kết thúc kép thực hiện cả ngăn xếp và hàng đợi và do đó hỗ trợ cả FIFO và LIFO. Giao diện bản đồ: Nó lưu trữ dữ liệu dưới dạng các cặp khóa-giá trị và chúng tôi chỉ có thể lưu trữ các khóa duy nhất. 6. Sự khác biệt giữa ArrayList và Vector là gì?
Câu hỏi phỏng vấn BankBazaar 7. Sự khác biệt giữa ArrayList và LinkedList là gì?
8. Sự khác nhau giữa Iterator và ListIterator là gì?
9. Sự khác nhau giữa Iterator và Enumeration là gì?
10. Sự khác nhau giữa Danh sách và Tập hợp là gì?
11. Sự khác biệt giữa HashSet và TreeSet là gì?
12. Sự khác nhau giữa Set và Map?
13. Sự khác nhau giữa HashSet và HashMap?
Câu hỏi phỏng vấn Capital One 14. Sự khác nhau giữa HashMap và TreeMap?
15. Sự khác nhau giữa HashMap và HashTable?
16. Sự khác nhau giữa Bộ sưu tập và Bộ sưu tập?
17. Sự khác nhau giữa So sánh và So sánh là gì?
18. BlockingQueue là gì?BlockingQueue là một giao diện cung cấp sự đồng thời trong các hoạt động như chèn và xóa các phần tử. Điều này có nghĩa là nó chèn một phần tử bằng cách đợi cho đến khi hàng đợi có chỗ trống và xóa một phần tử bằng cách đợi cho đến khi hàng đợi không còn trống. 19. Ưu điểm của tệp Thuộc tính là gì?Tệp thuộc tính là một tệp giúp thay đổi hoặc cập nhật tệp mà không cần phải biên dịch lại lớp java. Nó giúp quản lý dữ liệu và hữu ích khi thường xuyên cập nhật dữ liệu tệp. 20. Phương thức hashCode () là gì?Phương thức hashCode () được sử dụng trong kỹ thuật băm trả về một số nguyên được sử dụng để lưu trữ các cặp khóa-giá trị. Nó được sử dụng trong các Bộ sưu tập như HashSet, HashMap, v.v. Nó trả về cùng một giá trị số nguyên khi cả hai khóa giống hệt nhau. Trong trường hợp cả hai đối tượng đều khác nhau, thì nó trả về một giá trị nguyên khác cho cả hai đối tượng. Giải pháp Leetcode Ngày của năm 21. Tại sao chúng ta ghi đè phương thức equals ()?Phương thức bằng sẽ kiểm tra xem hai đối tượng có bằng nhau hay không. Điều này hiện diện trong lớp Object và chúng ta cần ghi đè nó để kiểm tra sự bình đẳng. 22. Làm thế nào để đồng bộ hóa các phần tử Danh sách, Tập hợp và Bản đồ?Chúng tôi có thể đồng bộ hóa các phần tử bằng cách sử dụng phương pháp đồng bộ hóa. 23. Ưu điểm của tập hợp chung là gì?
24. Xung đột băm là gì và nó được xử lý như thế nào?Xung đột băm là quá trình khi hai khóa khác nhau tạo ra cùng một giá trị số nguyên hoặc giá trị băm. Chúng ta có thể tránh xung đột băm bằng cách sử dụng 2 kỹ thuật dưới đây:
25. Kích thước mặc định của hệ số tải trong băm là bao nhiêu?Kích thước mặc định của hệ số tải là 0.75. 26. Không nhanh là gì?Lỗi nhanh là một điều kiện trong đó trình lặp ném ConcurrentModificationException khi có một sửa đổi cấu trúc. 27. Sự khác biệt giữa Array và ArrayList là gì?
28. Sự khác biệt giữa độ dài của một mảng và kích thước của ArrayList?Chúng ta có thể truy xuất độ dài của một mảng bằng cách sử dụng thuộc tính length cho một mảng. Nhưng ArrayList không hỗ trợ điều này. Do đó, nó sử dụng phương thức size () để tìm kích thước của ArrayList. Cả hai đều trả về số phần tử trong một mảng hoặc ArrayList. 29. Làm thế nào để chuyển một mảng thành ArrayList và ngược lại?Chúng ta có thể sử dụng phương thức asList () để chuyển đổi một mảng đến Lập danh sách và chúng ta có thể sử dụng phương thức toArray () để chuyển ArrayList thành một mảng. 30. Làm thế nào để đặt Java ArrayList ở dạng chỉ đọc?Khi ArrayList ở chế độ chỉ đọc, chúng ta chỉ có thể đọc các giá trị và không thể sửa đổi hoặc cập nhật nó. Chúng ta có thể làm điều này bằng cách sử dụng phương thức Collections.unmodifiableCollection (). 31. Làm thế nào chúng ta có thể loại bỏ các bản sao khỏi ArrayList?Chúng ta có thể Loại bỏ các bản sao từ ArrayList bằng cách sử dụng HashSet hoặc LinkedHashSet. 32. Các tính năng mới của Collections trong Java 8 là gì?
33. Tại sao giao diện Bản đồ không mở rộng giao diện Bộ sưu tập?Giao diện Bản đồ thể hiện dữ liệu dưới dạng các cặp khóa-giá trị trong khi Bộ sưu tập không hỗ trợ điều này. Do đó, giao diện Bản đồ không thể được coi là một Bộ sưu tập và do đó không phải là một phần của khung Bộ sưu tập. 34. Một Iterator là gì?Một Iterator là một giao diện có phương thức iterator () giúp chúng ta lặp lại hoặc duyệt qua tất cả các phần tử trong Bộ sưu tập. 35. Các cách khác nhau để lặp qua một danh sách là gì?Chúng ta có thể lặp lại danh sách theo hai cách khác nhau:
36. Các chế độ xem Bộ sưu tập khác nhau được cung cấp bởi giao diện Bản đồ là gì?Giao diện Bản đồ cung cấp các chế độ xem Bộ sưu tập bên dưới:
37. Lớp Collection nào cung cấp quyền truy cập ngẫu nhiên vào các phần tử?Các lớp ArrayList, HashMap, TreeMap, HashTable và Vector. 38. EnumSet là gì?EnumSet lưu trữ Enumeration loai du lieu và thực hiện giao diện Đặt. Tất cả các phần tử phải thuộc về kiểu Enum duy nhất và không cho phép lưu trữ các giá trị null. 39. Các lớp Collection nào là an toàn cho luồng?Các lớp Vector, Hashtable, Properties và Stack. 40. Làm thế nào chúng ta có thể sắp xếp một danh sách các Đối tượng?Chúng ta có thể sắp xếp danh sách các Đối tượng bằng cách sử dụng Arrays.sort () hoặc Collections.sort () 41. Tại sao Collection không mở rộng giao diện Cloneable và Serializable?Giao diện Bộ sưu tập chứa các phần tử không là gì khác ngoài một nhóm các đối tượng. Thứ tự của các phần tử dựa trên việc triển khai giao diện Bộ sưu tập. Do đó, không bắt buộc phải mở rộng giao diện Có thể sao chép và Có thể nối tiếp. 42. Làm thế nào để đảo ngược một danh sách?Chúng ta có thể sử dụng phương thức reverse () để đảo ngược các phần tử trong danh sách. import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Iterator; public class ArrayListReverse { public static void main(String[] args) { ArrayListSắp xếp các phần tử 43. Java hỗ trợ bao nhiêu loại LinkedList?LinkedList trong Java hỗ trợ hai loại: Single LinkedList, Double LinkedList 44. Tập hợp là gì và các cách triển khai khác nhau là gì?Một Tập hợp là tập hợp các phần tử không có thứ tự, có nghĩa là nó không duy trì bất kỳ thứ tự chèn nào và không thể lưu trữ bất kỳ giá trị trùng lặp nào. HashSet, LinkedHashSet và TreeSet là các lớp triển khai giao diện Set. 45. Một voidSet () là gì?Một voidSet () trả về tập bất biến trống bất cứ khi nào chúng ta cố gắng loại bỏ các phần tử null. Bộ này có thể nối tiếp. 46. Vector là gì?Một vectơ tương tự như mảng nhưng là một phần của khuôn khổ kế thừa và có các phương thức riêng biệt ngoài khuôn khổ Bộ sưu tập. 47. Lớp từ điển là gì?Một lớp từ điển có thể lưu trữ các cặp khóa-giá trị. 48. Một ngoại lệ không được hỗ trợOperationException là gì?Ngoại lệ UnsupportedOperationException được ném khi phương thức này không được hỗ trợ bởi loại Bộ sưu tập. 49. Phương thức peek () trong Queue là gì?Phương thức peek () trả về phần tử head nhưng không loại bỏ nó. Nếu hàng đợi trống thì nó trả về null. 50. Các phương pháp hay nhất trong khuôn khổ Bộ sưu tập là gì?
Hợp nhất các mảng đã sắp xếp Giải pháp Leetcode 51. Các loại hàng đợi khác nhau là gì?
52. Sự khác nhau giữa ngăn xếp và hàng đợi?
53. Sự khác nhau giữa mảng và ngăn xếp?
54. Ưu điểm của ngăn xếp là gì?
55. Ký hiệu Big-O là gì?Ký hiệu Big-O là để tính toán hiệu suất của thuật toán dựa trên số lượng phần tử. Chúng tôi có thể sử dụng điều này để so sánh và kiểm tra loại bộ sưu tập nào có thể thích ứng để triển khai. Ví dụ: phương thức getIndex (index i) của ArrayList thực hiện thời gian không đổi và không phụ thuộc vào số phần tử. Do đó ký hiệu Big-O là O (1). 56. LinkedList là gì?LinkedList là một lớp triển khai cả deque và List bằng cách sử dụng liên kết kép danh sách. Mỗi phần tử là một nút có 2 phần, một phần lưu trữ giá trị và phần còn lại lưu trữ tham chiếu địa chỉ của các nút trước và sau. 57. Map.entry trong Bản đồ là gì?Map.entry là giao diện hỗ trợ làm việc với mục nhập bản đồ. Nó trả về một chế độ xem của bộ sưu tập. Chúng ta có thể sử dụng phương thức entrySet () để truy xuất dạng xem tập hợp của bản đồ có các cặp khóa-giá trị. Nó cũng có các phương thức riêng biệt như getKey () để lấy khóa và getValue () để lấy giá trị. 58. Các phương pháp khác nhau để xóa các phần tử khỏi ArrayList là gì?
59. Làm thế nào để tham gia nhiều ArrayList?Chúng ta có thể nối hoặc hợp nhất các phần tử của ArrayList khác nhau bằng phương thức addAll (Collection c). ArrayList60. Toán tử kim cương là gì?Toán tử kim cương hỗ trợ để truy xuất các kiểu đối số của lớp chung. Nó được biểu diễn dưới dạng <> và có thể thay thế hàm tạo được tham số hóa bằng các tập tham số trống. |