Chuyển đến nội dung chính

Bài đăng

Đang hiển thị bài đăng từ Tháng 11, 2017

Cách HashMap (Dictionary) hoạt động trong Java

Cách HashMap (Dictionary) hoạt động trong Java HashMap (hay Dictionary) là một key-value data structure quan trọng. Các dev nhà ta chắc hẳn ai cũng đã từng dùng HashMap để giải quyết các bài toán hằng ngày rồi. Vậy liệu các bạn có đặt câu hỏi HashMap hoạt động như thế nào? Làm sao làm việc với HashMap lại nhanh? Đây cũng là câu hỏi thường xuyên được hỏi trong các buổi phỏng vấn Software Engineering HashMap hoạt động như thế nào? Bạn có thể tự xây dựng một HashMap cho riêng mình không? Hash Collision là gì? Làm sao để giải quyết Hash Collision? Những gì cần lưu ý khi sử dụng HashMap? HashMap HashMap là key-value data structure cho phép chúng ta lưu trữ data và chi phí cho các thao tác cơ bản (put, get, delete) chỉ là O(1). HashMap hoạt động như thế nào? HashMap hoạt động dựa trên nguyên lý hashing (Hashing principle). Khi chúng ta gọi hàm put(key, value) hay get(key) thì về cơ bản HashMap sẽ làm 2 bước sau Tìm bucket Bucket là nơi lưu trữ các key có hash gần như...

Collections in Java

  Collections ra đời là để khắc phục những hạn chế, nhược điểm khi sử dụng mảng để lập trình. Trong bài đầu tiên, tôi sẽ giới thiệu tổng quan về Collections trong Java và sau đó tôi sẽ lần lượt giới thiệu chi tiết về từng loại Collections trong các bài tiếp theo. Collections là một tập các lớp dùng để lưu trữ danh sách và có khả năng tự co dãn khi danh sách đó thay đổi , ví dụ như khi chúng ta thêm, sửa, xóa, chèn phần tử trong danh sách đó. Ngoài ra, Collections còn được dùng để lưu trữ, truy xuất, tương tác với dữ liệu và truyền dữ liệu giữa các phương thức với nhau ( chi tiết về phương thức tôi sẽ giới thiệu trong chương Lập trình hướng đối tượng ). Một đặc điểm rất quan trong là khi sử dụng Collections đó là chúng ta không cần phải khai báo trước số lượng phần tử. Chính đặc điểm này đã khắc phục được hạn chế về kích thước khi khai báo mảng trong Java.Collections Framework Framework là một tập hợp các thư viện (Library) đã được đóng gói để hỗ trợ phát triển ứng dụ...