Thông tin tài liệu
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: Collection và 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 c c 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 c c phần tử − ArrayList hỗ trợ nhiều c ch duyệt c c 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 c c 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
Ngày đăng: 23/05/2014, 15:58
Xem thêm: nền tảng lập trình c bài 8 collection và generics, nền tảng lập trình c bài 8 collection và generics