http://vietjack.com/java/index.jsp Copyright © vietjack.com Collection Java Java cung cấp class đặt biệt Dictionary, Vector, Stack Properties để lưu trữ thao tác với nhóm đối tượng Mặc dù class hữu dụng, lại thiếu tập trung, thống Do đó, cách sử dụng Vector Java khác với cách sử dụng Properties Để hiểu sâu khái niệm trình bày chương này, mời bạn tham khảo loạt bài: Ví dụ Collection Java Collection framework thiết kế với mục đích sau: Framework phải hiệu cao Sự triển khai cho tập hợp (các mảng động, linked list, tree hashtable) sử dụng với hiệu cao Framework phải cho phép kiểu tập hợp khác để làm việc theo cách tương tự với độ phân hóa mức cao Kế thừa và/hoặc tìm hiểu với tập hợp phải dễ dàng Đến cuối cùng, toàn collection framework thiết kế xung quanh tập hợp interface tiêu chuẩn Vài class triển khai LinkedList, HashSet TreeSet interface cung cấp cho bạn triển khai tập hợp bạn chọn Một collections framework cấu trúc thống để biểu diễn thao tác collection Tất collections framework chứa: Interface: Đây kiểu liệu abstract mà biểu diễn collection Interface cho phép collection thao tác cách độc lập theo phép biểu diễn chúng Trong ngơn ngữ hướng đối tượng, interface nói chung cấu tạo nên hierarchy Sự triển khai, ví dụ Class Đây triển khai cụ thể collection interface Về chất, chúng cấu trúc liệu tái sử dụng Thuật toán: Đây phương thức thực trình tính tốn hữu ích, tìm kiếm xếp thứ tự phân loại, đối tượng mà triển khai collection interface Các thuật toán xem đa hình: là, phương thức sử dụng nhiều triển khai khác collection interface thích hợp http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java/index.jsp Copyright © vietjack.com Ngoài ra, framework định nghĩa số map interfaces class Map lưu giữ cặp key/value Mặc dù map không collections khái niệm, chúng hồn tồn tương thích với collection Collection Interface Java Một Collection framework định nghĩa trước vài loại interface Phần cung cấp cho bạn tổng quan interface: STT Interface Miêu tả Collection Interface Java Cho phép bạn làm việc với nhóm đối tượng, phần interface cha tất collection interface khác List Interface Java Kế thừa từ Collection kiểu List lưu trữ tập hợp phần tử cách có thứ tự Set Interface Java Nó kế thừa Collection để thao tác với tập hợp, mà phải chứa phần tử SortedSet Interface Java Kế thừa từ Set để thao tác với tập hợp xếp thứ tự Map Interface Java Liên kết key tới value Map.Entry Interface Java Mô tả thành phần key/value map Là inner class Map http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java/index.jsp Copyright © vietjack.com SortedMap Interface Java Kế thừa từ Map key trì cách có thứ tự Enumeration Interface Java Đây legacy interface định nghĩa phương thức, theo bạn liệt kê thành phần tập hợp tập hợp đối tượng Các lớp Collection Java Java cung cấp tập hợp lớp collection tiêu chuẩn triển khai Collection interface Bảng tổng hợp lớp collection chuẩn Java: STT Các lớp miêu tả Lớp AbstractCollection Java Triển khai tất Collection interface Lớp AbstractList Java Kế thừa AbtractCollection triển khai tất phương thức List interface Lớp AbstractSequentialList Java Kế thừa AbstractList để sử dụng Collection mà sử dụng liên tục thay truy cập ngẫu nhiên phần tử Lớp LinkedList Java Triển khai LinkedList kế thừa AbstractSequentialList Lớp ArrayList Java http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java/index.jsp Copyright © vietjack.com Triển khai mảng động kế thừa AbstractList Lớp AbstractSet Java Kế thừa AbstractCollection triển khai hầu hết Set interface Lớp HashSet Java Kế thừa AbstractSet để sử dụng với hash table Lớp LinkedHashSet Java Kế thừa HashSet phép lặp lại thứ tự chèn (insertion-order) Lớp TreeSet Java Triển khai tập hợp lưu tree Kế thừa AbstractSet 10 Lớp AbstractMap Java Triển khai hầu hết Map interface 11 Lớp HashMap Java Kế thừa AbstractMap để sử dụng hash table 12 Lớp TreeMap Java Kế thừa AbstractMap để sử dụng tree 13 Lớp WeakHashMap Java Kế thừa AbstractMap để sử dụng hash table với khóa weak http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java/index.jsp 14 Copyright © vietjack.com Lớp LinkedHashMap Java Kế thừa HashMap phép lặp lại thứ tự chèn (insertion-order) 15 Lớp IdentityHashMap Java Kế thừa AbstractMap sử dụng tham chiếu ngang so sánh tài liệu Các lớp AbstractCollection, AbstractSet, AbstractList, AbstractSequentialList AbstractMaptrong Java cung cấp triển khai xương sống Collection Interface lõi, để tối thiểu hóa nỗ lực cần để thi hành chúng Các legacy class sau định nghĩa java.util, bàn luận chương trước: STT Các lớp Miêu tả Lớp Vector Java Lớp triển khai mảng động Nó tương tự ArrayList, có số điểm khác Lớp Stack Java Stack lớp phụ lớp Vector mà triển khai last-in-first-out stack Lớp Dictionary Java Dictionary abstract class mà biểu diễn kho lưu giữ key/value hoạt động giống Map Lớp Hashtable Java Hashtable phần java.util gốc triển khai cụ thể Dictionary http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java/index.jsp Copyright © vietjack.com Lớp Properties Java Properties lớp phụ Hashtable Nó sử dụng để trì danh sách giá trị key String value String Lớp BitSet Java Một lớp BitSet tạo kiểu mảng đặc biệt mà giữ giá trị bit Mảng tăng kích cỡ cần Các thuật tốn Collection Java Collection Framework định nghĩa số thuật tốn áp dụng cho Collection Map Những thuật toán định nghĩa phương thức tĩnh (static) bên lớp Collection Một số phương thức ném ClassCastException, mà xảy cố gắng so sánh kiểu không tương thích, UnsupportedOperationException, mà xảy cố gắng sửa đổi Unmodifiable Collectioon Các Collection định nghĩa biến static là: EMPTY_SET, EMPTY_LIST, EMPTY_MAP Tất khơng thể thay đổi STT Thuật tốn Miêu tả Thuật toán Collection Java Đây danh sách tất thuật toán Cách sử dụng Iterator Java Thường thì, bạn muốn tuần hồn qua phần tử tập hợp Ví dụ, bạn muốn hiển thị phần tử Cách đơn giản để thực điều thuê Iterator, đối tượng mà triển khai Iterator Listlerator interface http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java/index.jsp Copyright © vietjack.com Iterator cho bạn khả để tuần hoàn qua tập hợp, kiếm gỡ bỏ phần tử ListIterator kế thừa Iterator phép “vọc” song hướng danh sách sửa đổi phần tử STT Các phương thức Iterator miêu tả Sử dụng Iterator Java Đây danh sách tất phương thức ví dụ Iterator ListIterator interface Cách sử dụng Comparator Java Cả TreeSet TreeMap lưu giữ phần tử thứ tự xếp thứ tự Tuy nhiên, comparator mà định nghĩa xác ý nghĩa sorted order Interface giúp xếp thứ tự tập hợp với số lượng mảng cho Ngoài ra, interface sử dụng để xếp thứ tự instance lớp (ngay lớp chỉnh sửa) STT Phương thức Comparator Miêu tả Sử dụng Comparator Java Đây danh sách tất phương thức ví dụ Comparator Interface Tổng kết Collection Framework Java cung cấp cho lập trình viên truy cập tới cấu trúc liệu đóng gói trước (Prepackage) thuật tốn để thao tác chúng Một Collection đối tượng mà giữ tham chiếu tới đối tượng khác Collection Interface khai báo hoạt động mà thực kiểu Collection Các Class Interface Collection Framework gói java.util http://vietjack.com/ Trang chia sẻ học online miễn phí Page ... Các lớp Collection Java Java cung cấp tập hợp lớp collection tiêu chuẩn triển khai Collection interface Bảng tổng hợp lớp collection chuẩn Java: STT Các lớp miêu tả Lớp AbstractCollection Java Triển... Trang chia sẻ học online miễn phí Page http://vietjack.com /java/ index.jsp Copyright © vietjack.com SortedMap Interface Java Kế thừa từ Map key trì cách có thứ tự Enumeration Interface Java Đây legacy... liên tục thay truy cập ngẫu nhiên phần tử Lớp LinkedList Java Triển khai LinkedList kế thừa AbstractSequentialList Lớp ArrayList Java http://vietjack.com/ Trang chia sẻ học online miễn phí Page