Tìm class giống Dictionary.

Liên hệ QC

truongvu317

Thành viên tích cực
Tham gia
15/11/10
Bài viết
935
Được thích
678
Giới tính
Nữ
Xin chào toàn thể các thành viên GPE!
Nhờ các thành viên chỉ giúp mình một class giống với Dictionary, nhưng có thêm các đặc điểm sau:
+Có thể thêm key, xóa key, chèn key vào một vị trí bất kỳ.
+Có thể tráo đổi vị trí của hai key bất kỳ ( cái này có thể là tính năng phụ, hoặc dùng mẹo cũng được).
+Có khả năng tìm vị trí của key bất kỳ trong Keys, Ví dụ có hai key "a" và "b" được nạp vào thì key "b" ở vị trí thứ 2, key "a" ở vị trí thứ 1.

Mình xin chân thành cảm ơn!
 
Xin chào toàn thể các thành viên GPE!
Nhờ các thành viên chỉ giúp mình một class giống với Dictionary, nhưng có thêm các đặc điểm sau:
+Có thể thêm key, xóa key, chèn key vào một vị trí bất kỳ.
+Có thể tráo đổi vị trí của hai key bất kỳ ( cái này có thể là tính năng phụ, hoặc dùng mẹo cũng được).
+Có khả năng tìm vị trí của key bất kỳ trong Keys, Ví dụ có hai key "a" và "b" được nạp vào thì key "b" ở vị trí thứ 2, key "a" ở vị trí thứ 1.

Mình xin chân thành cảm ơn!

Dictionary có thể hiểu là 1 collection đặc biệt
Đã dùng key thì còn đâu để ý vị trí - đây là mặt lợi thế của collection hơn array
Còn thêm xóa key thì trong dictionary có rồi: add, remove (chèn thì khôgn cần vì nói về vị trí đã đề cập trên)
 
Upvote 0
cái chuyện dic hay cc thì không nói làm gì. ví dụ mình có một danh sách. bây giờ gỡ bỏ một key. hỏi là một key khác đang ở vị trí nào. giống như xếp hàng hoc sinh, khi một học sinh ra ngoài hàng thì hỏi là học sinh khác đang ở vị trí thứ mấy trong hàng. cái này dùng code để làm chắc được. nhưng thích ăn sẵn cơ.
 
Upvote 0
cái chuyện dic hay cc thì không nói làm gì. ví dụ mình có một danh sách. bây giờ gỡ bỏ một key. hỏi là một key khác đang ở vị trí nào. giống như xếp hàng hoc sinh, khi một học sinh ra ngoài hàng thì hỏi là học sinh khác đang ở vị trí thứ mấy trong hàng. cái này dùng code để làm chắc được. nhưng thích ăn sẵn cơ.

Vậy dùng ArrayList hay muốn key nữa thì dùng Storedlist - với trình của bạn chắc tự tìm và hiểu sau khi có keywords trên. Có thì thông báo lại.
Nhưng ứng dụng vào đâu mấy cái kiểu truyền thống này - lập trình mới người ta không dùng cái này sẵn có như thế nữa mà tự chế theo nhu cầu vừa nhỏ gọn vừa hiểu vấn đề hơn dùng công cụ có sẵn.
 
Upvote 0
Cần xác định rõ cái từ "giống dictionary" là cái gì?
Dictionary nguyên bản là một cấu trúc cặp key-value. Tự định nghĩa nó đã là không lý đến thứ tự.
Dictionary dùng kỹ thuật truy cập bằng bảng băm (hoặc các kỹ thuật cải tiến của bảng băm - tuỳ theo platform) để cải tiến tốc độ. Bây giờ bảo nó phải sắp xếp thì có phải là dùng xe Ferrari kéo rờ mọt không?
List là cấu trúc làm được việc sắp xếp. Nhưng bảo nó nhanh và dễ sử dụng (ví dụ: mixed-typed key) như dictionary thì là điều viễn vông.

Rốt cuộc lại, cái cấu trúc bạn muốn thì nó phải hy sinh gì đối với dictionary. Cần suy nghĩ xác định trước đã rồi hãy tìm.
 
Upvote 0
nó phải hy sinh gì đối với dictionary
Cái em cần thì không cần thành phần Item ( có thì càng tốt vì em tham mà, tham chảy nước ). Chỉ cần hệ thống Key, và có khả năng định vị trí trí của các key, thêm, xóa, chèn key.

Ps: Nó giống suýt một nửa của dictionary.
 
Upvote 0
Cái em cần thì không cần thành phần Item ( có thì càng tốt vì em tham mà, tham chảy nước ). Chỉ cần hệ thống Key, và có khả năng định vị trí trí của các key, thêm, xóa, chèn key.

Ps: Nó giống suýt một nửa của dictionary.

hỏi ngu tí
ý bạn là đánh dấu một cái key nào đó, sao đó có thể quya lại đó để thêm,chèn hoặc xóa?
 
Upvote 0
Hay mọi người xây dựng 1 classModule về MyList và MyRange để sử dụng
 
Upvote 0
hỏi ngu tí
ý bạn là đánh dấu một cái key nào đó, sao đó có thể quya lại đó để thêm,chèn hoặc xóa?
giả sử nạp lần lượt 3 key a b c thì bvij trí của b là 2. xóa key b đi thì vị trí của c lại thành 2. chèn một key ở sau a thì vị trí của d là 2 và c là 3
Bài đã được tự động gộp:

Hay mọi người xây dựng 1 classModule về MyList và MyRange để sử dụng
Đó cũng là một hướng. cơ ban mình chưa hình dung ra mặt mũi của nó.
 
Upvote 0
Xin chào toàn thể các thành viên GPE!
Nhờ các thành viên chỉ giúp mình một class giống với Dictionary, nhưng có thêm các đặc điểm sau:
+Có thể thêm key, xóa key, chèn key vào một vị trí bất kỳ.
+Có thể tráo đổi vị trí của hai key bất kỳ ( cái này có thể là tính năng phụ, hoặc dùng mẹo cũng được).
+Có khả năng tìm vị trí của key bất kỳ trong Keys, Ví dụ có hai key "a" và "b" được nạp vào thì key "b" ở vị trí thứ 2, key "a" ở vị trí thứ 1.

Mình xin chân thành cảm ơn!
Thử đọc bài của bạn @befaint
https://www.giaiphapexcel.com/diendan/threads/bài-18-arraylist.129901/
 
Upvote 0
Cái em cần thì không cần thành phần Item ...
Ps: Nó giống suýt một nửa của dictionary.

Key-Value là căn bản của dictionary. Không có cái căn bản thì không thể gọi là giống phân nửa.
Tốt hơn hết là nên quên cái từ "dictionary" đi. Cái gần nhất mà bạn muốn là một cấu trúc sorted list.
Trong Windows có lẽ cái ArrayList của Dot Net là cái có sẵn gần nhất.

pờ sờ - pi ét - phụ sản: có lẽ do diễn đàn này hay lợi dụng tính chất key duy nhất của dictionary để giải quyết vấn đề cho nên lâu dần người ta quên mất chức năng chính của nó.
 
Upvote 0
Web KT
Back
Top Bottom