Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 75 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
75
Dung lượng
494 KB
Nội dung
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC 1 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Bài 8: CollectionvàGenerics • Collections • Th tá ớiáđốit dháhtầ t • Th ao tá c v ới c á c đối t ượng d an h s á c h t u ầ n t ự • Dictionaries • Các collection chuyên biệt hóa (Specialized Collections) • Generic Generic • Generic Collections 2 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Collections • Collections (tập hợp) là các lớp hỗ trợ thu thập và quản lý các đối tượng − Một cách có thứ tự − Hỗ trợ lưu, tìm kiếm và duyệt các đối tượng trong tập hợp • Namespace System.Collections của .NET Framework cung cấp nhiều kiểu tập hợp khác nhau − Cần dùng collection nào trong từng trường hợpcụ thể ? Cần dùng collection nào trong từng trường hợp cụ thể ? 3 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Collections • Các kiểu collection thông dụng − ArrayList − SortedList − Queue − Stack − Hashtable Hashtable − StringCollection − StringDictionary 4 StringDictionary − ListDictionary TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Collections • Thêm và xóa phần tử − LớpArrayListlàlớpcơ bảnnhấtnằm ẩn bên trong tất Lớp ArrayList là lớp cơ bản nhất , nằm ẩn bên trong tất cả các lớp còn lại. − Thêm và xóa p hần tử khỏi Arra y List rất đơn g iản. p y g − ArrayList cung cấp 2 phương thức để thêm phần tử: • Add • AddRange 5 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Collections • Thêm phần tử : − Thêm phầntử dùng phương thứcAdd Thêm phần tử dùng phương thức Add string s= “ Hello ” ; ArrayList coll=new ArrayList(); X coll coll string s= Hello ; coll.Add(s); coll.Add(“Hi”); ll Add (0) “Hello” “Hi” 50 0 1 2 Nhiềukiểudữ liệukhác co ll . Add ( 5 0) ; coll.Add(new object()); 50 object 2 3 6 Nhiều kiểu dữ liệu khác nhau có thể được lưu trong ArrayList TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Collections • Thêm phần tử − ArrayList hỗ trợ phương thức : AddRange để thêm 1 ArrayList hỗ trợ phương thức : AddRange để thêm 1 dãy các phần tử • Từ một array/ collection khác. Add và AddRange thêm p hần tử vào ArrayList coll=new ArrayList(); string[] anArray=new string[]{“more”,”or”,”less”}; p cuối dãy. coll.AddRange(anArray); object[] anotherArray=new object[]{new object(),new Arra y List ()}; 7 y ()}; coll.AddRange(anArray); TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Collections • Thêm phần tử − ArrayList cung cấpphương thức Insert và InsertRange ArrayList cung cấp phương thức Insert và InsertRange hỗ trợ thêm phần tử vào 1 vị trí xác định ArrayList coll = new ArrayList(); coll.Insert(1, "Hey all"); string[] moreString = new string[] {"good night","see you"}; ll ItR ( 3 St i ) Kếtquả co ll . I nser tR ange ( 3 , more St r i ng ) ; for (int i = 0; i < coll.Count; i++){ Console.WriteLine( " Item "+ i +" : "+ coll[i]); Kết quả là gì ? 8 Console.WriteLine( Item i : coll[i]); } TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Collections • Thêm phần tử − ArrayList hỗ trợ gán giá trị cho đốitượng trong ArrayList hỗ trợ gán giá trị cho đối tượng trong collection thông qua index của đối tượng coll[3]=“du lieu”; • Chỉ gán giá trị/ ghi đè giá trị cũ • Khôn g thêm mới p hần t ử g p 9 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC Collections • Xóa phần tử − ArrayList hỗ trợ các phương thức xóa phầntử khỏi ArrayList hỗ trợ các phương thức xóa phần tử khỏi collection • Remove • RemoveAt • RemoveRange 10 [...]... tr c quan ầ HashTable emailLookup=new HashTable(); System.Collections.DictionaryEntry System Collections DictionaryEntry emailLookup[“sbishop@contoso.com”]=“Bishop, Scott”; System.Collections.DictionaryEntry System.Collections.DictionaryEntry emailLookup[“chess@contoso.com”]=“Hess, Christian”; emailLookup[ djump@contoso.com ]= Jump, Dan”; emailLookup[“djump@contoso com”]=“Jump Dan ; foreach (object... (object item in coll){ Console.WriteLine(item); Console WriteLine(item); } 14 TRƯỜNG ĐẠI H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Collections • Sắp xếp phần tử − ArrayList hỗ trợ phương th c Sort để sắp xếp cc phần tử trong collection coll.Sort(); • • • Phương th c Sort dùng lớp Comparer th c hiện so sánh Comparer th c thi interface IComparer Phương th c Sort cho phép chỉ định đối tượng IComparer... th c hỗ trợ thêm/ xóa phần tử ỗ ầ − − − Clear IndexOf Contains string myString=“My String”; if (coll.Contains(myString)){ int index=coll.IndexOf(myString); index=coll IndexOf(myString); coll.RemoveAt(index); } else coll.Clear(); 12 TRƯỜNG ĐẠI H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Collections • Duyệt cc phần tử − ArrayList hỗ trợ nhiều c ch duyệt cc phần tử trong collection • • • Dùng chỉ... chỉ m c phần tử (index) Dùng interface IEnumerable và Enumerator Dùng c u tr c foreach 13 TRƯỜNG ĐẠI H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Collections • Duyệt á hầ D ệt cc phần tử Chỉ m c for (int i=0;i . v ới c á c đối t ượng d an h s á c h t u ầ n t ự • Dictionaries • C c collection chuyên biệt hóa (Specialized Collections) • Generic Generic • Generic Collections 2 TRƯỜNG ĐẠI H C KHOA. H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C 1 TRƯỜNG ĐẠI H C KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Bài 8: Collection và Generics • Collections • Th tá ớiáđốit dháhtầ t • Th ao tá c v ới . KHOA H C TỰ NHIÊN TP.HCM TRUNG TÂM TIN H C Collections • Collections (tập hợp) là c c lớp hỗ trợ thu thập và quản lý c c đối tượng − Một c ch c thứ tự − Hỗ trợ lưu, tìm kiếm và duyệt c c đối