ความแตกต่างระหว่างคอลเลกชันทั่วไปและไม่ใช่ทั่วไปใน C

สารบัญ:

ความแตกต่างระหว่างคอลเลกชันทั่วไปและไม่ใช่ทั่วไปใน C
ความแตกต่างระหว่างคอลเลกชันทั่วไปและไม่ใช่ทั่วไปใน C

วีดีโอ: ความแตกต่างระหว่างคอลเลกชันทั่วไปและไม่ใช่ทั่วไปใน C

วีดีโอ: ความแตกต่างระหว่างคอลเลกชันทั่วไปและไม่ใช่ทั่วไปใน C
วีดีโอ: ไม่บอกเธอ - Bedroom Audio (Ost.Hormones วัยว้าวุ่น Ver.ไผ่ & สไปรท์) 2024, มิถุนายน
Anonim

ความแตกต่างที่สำคัญ – คอลเลกชันทั่วไปเทียบกับที่ไม่ใช่ทั่วไปใน C

A คอลเลกชันทั่วไปเป็นคลาสที่ให้ความปลอดภัยประเภทโดยไม่ต้องมาจากประเภทคอลเลกชันพื้นฐานและใช้สมาชิกเฉพาะประเภท คอลเล็กชันที่ไม่ใช่แบบทั่วไปเป็นคลาสเฉพาะสำหรับการจัดเก็บและดึงข้อมูลซึ่งให้การสนับสนุนสแต็ค คิว รายการ และแฮชเทเบิล ความแตกต่างที่สำคัญระหว่างคอลเล็กชันทั่วไปและไม่ใช่ทั่วไปใน Cคือคอลเล็กชันทั่วไปมีการพิมพ์อย่างมากในขณะที่คอลเล็กชันที่ไม่ใช่ทั่วไปไม่ได้พิมพ์อย่างเข้มงวด

Generic Collection ใน C คืออะไร

คอลเลกชันที่ไม่ใช่ทั่วไป เช่น ArrayList, Queue, Stack เป็นต้นสามารถจัดเก็บองค์ประกอบของข้อมูลประเภทต่างๆ เมื่อได้รับไอเท็มแล้ว โปรแกรมเมอร์ควรพิมพ์ cast ให้เป็นชนิดข้อมูลที่ถูกต้อง มิฉะนั้น อาจทำให้เกิดข้อยกเว้นรันไทม์ได้ สามารถใช้คลาสการรวบรวมทั่วไปเพื่อแก้ไขปัญหานี้ คอลเล็กชันทั่วไปจัดเก็บองค์ประกอบภายในอาร์เรย์ของประเภทจริง ดังนั้นจึงไม่จำเป็นต้องหล่อแบบ สามารถใช้เพื่อเก็บองค์ประกอบของประเภทหรือประเภทที่ระบุ คลาสคอลเลกชันทั่วไปบางคลาส ได้แก่ List, Dictionary, SortedList, HashSet, Queue, Stack.

ความแตกต่างระหว่างคอลเล็กชันทั่วไปและไม่ใช่ทั่วไปใน C
ความแตกต่างระหว่างคอลเล็กชันทั่วไปและไม่ใช่ทั่วไปใน C

GenericList มีองค์ประกอบประเภทที่ระบุ สามารถเพิ่มรายการตามลำดับเมื่อเพิ่มองค์ประกอบ เมื่อมีข้อความดังต่อไปนี้ องค์ประกอบทั้งหมดที่สามารถเก็บไว้ใน list1 ควรเป็นจำนวนเต็ม

รายการ 1 – รายการใหม่ ();

พจนานุกรมทั่วไปในภาษา C คือชุดของคีย์และค่าต่างๆ เมื่อมีคำสั่งดังนี้ object dictionary1 สามารถจัดเก็บคีย์ชนิด int และค่าประเภทสตริงได้

พจนานุกรมพจนานุกรม1=พจนานุกรมใหม่ ();

A คอลเล็กชัน SortedList ทั่วไปจะจัดเก็บคู่คีย์และค่าในลำดับจากน้อยไปมากของคีย์โดยค่าเริ่มต้น ตัวอย่างด้านล่างเก็บคีย์ของประเภท int และค่าของประเภทสตริง

SortedList s0=ใหม่ SortedList ();

เหล่านี้คือตัวอย่างบางส่วนสำหรับ Generic Collection ใน C คอลเล็กชันเหล่านี้สามารถจัดเก็บค่าของประเภทข้อมูลที่ระบุได้หลายค่า ดังนั้นพวกเขาจึงถูกพิมพ์อย่างแรง

คอลเล็กชั่นทั่วไปใน C คืออะไร

อาร์เรย์สามารถใช้เก็บหลายองค์ประกอบได้ ข้อเสียประการหนึ่งคือสามารถจัดเก็บองค์ประกอบของประเภทข้อมูลเดียวกันได้ มีคลาสใน Cที่สามารถใช้เพื่อเก็บค่าหรืออ็อบเจ็กต์จำนวนมากที่เรียกว่าคอลเล็กชัน คอลเลกชันช่วยในการจัดเก็บ อัปเดต ลบ ค้นหา จัดเรียงวัตถุขนาดของคอลเลกชันสามารถเพิ่มหรือลดแบบไดนามิกได้

บางคลาสของคอลเล็กชันที่ไม่ใช่ทั่วไป ได้แก่ ArrayList, SortedList, Stack, Queue และ HashTable แต่ละคลาสคอลเลกชันใช้อินเทอร์เฟซ IEnumerable ช่วยในการวนซ้ำองค์ประกอบของรายการในคอลเลกชันโดยใช้ลูป foreach

ArrayList เป็นทางเลือกแทนอาร์เรย์ หากมีอาร์เรย์ที่เก็บองค์ประกอบได้ 10 รายการ จะไม่สามารถเก็บองค์ประกอบได้ 20 รายการ หากอาร์เรย์เริ่มต้นเป็น 10 องค์ประกอบ แต่เก็บเพียง 5 องค์ประกอบ ส่วนที่เหลือจะไม่ถูกใช้งาน ดังนั้นอาร์เรย์จึงได้รับการแก้ไข ใน ArrayList คุณสามารถเพิ่มหรือลบองค์ประกอบตามดัชนีได้ จะช่วยให้การจัดสรรหน่วยความจำแบบไดนามิก วิธีการจัดเรียงสามารถใช้เพื่อจัดเรียงองค์ประกอบในลำดับจากน้อยไปมาก

HashTable ถูกใช้เพื่อแสดงชุดของคู่ค่าคีย์ มีการจัดระเบียบตาม hashCode ของคีย์ ดังนั้นทุกองค์ประกอบจึงมีคู่ค่าคีย์ คีย์สามารถใช้เพื่อเข้าถึงองค์ประกอบเฉพาะในคอลเล็กชันสแต็คแสดงถึงการเข้าถึงรายการสุดท้ายเข้าก่อนออกก่อน คิวใช้สำหรับเข้าก่อนออกรายการก่อน นี่คือคอลเล็กชันที่ไม่ใช่แบบทั่วไปบางส่วนที่รองรับโดย Cคอลเลกชันเหล่านี้สามารถจัดเก็บองค์ประกอบประเภทต่างๆ

ความคล้ายคลึงกันระหว่างคอลเลกชันทั่วไปและไม่ใช่ทั่วไปใน C คืออะไร

ทั้งคอลเลกชันทั่วไปและที่ไม่ใช่แบบทั่วไปสามารถใช้เพื่อจัดเก็บองค์ประกอบหลายรายการใน C

ความแตกต่างระหว่างคอลเลกชันทั่วไปและไม่ใช่ทั่วไปใน C คืออะไร

Generic vs Non-Generic Collection ใน C

A คอลเลกชันทั่วไปเป็นคลาสที่ให้ความปลอดภัยประเภทโดยไม่ต้องมาจากประเภทคอลเลกชันพื้นฐานและใช้งานสมาชิกเฉพาะประเภท A คอลเลกชั่นที่ไม่ใช่แบบทั่วไปเป็นคลาสเฉพาะสำหรับการจัดเก็บและดึงข้อมูลที่สนับสนุนสแต็ก คิว รายการ และตารางแฮช
เนมสเปซ
คลาส Generic Collection อยู่ในระบบ ของสะสม เนมสเปซทั่วไป คลาส Non-generic Collection อยู่ในระบบ เนมสเปซของคอลเล็กชัน
ประเภท
พิมพ์คอลเลกชันทั่วไปอย่างยิ่ง A คอลเลกชันที่ไม่ใช่แบบทั่วไปไม่ได้ถูกพิมพ์อย่างเข้มงวด
การจัดเก็บองค์ประกอบ
คอลเลกชันทั่วไปจัดเก็บองค์ประกอบภายในอาร์เรย์ของประเภทที่แท้จริง คอลเลกชันที่ไม่ใช่ทั่วไปเก็บองค์ประกอบภายในอาร์เรย์วัตถุเพื่อให้สามารถจัดเก็บข้อมูลประเภทใดก็ได้

สรุป – คอลเลกชันทั่วไปเทียบกับที่ไม่ใช่ทั่วไปใน C

บทความนี้กล่าวถึงความแตกต่างระหว่างคอลเลกชันทั่วไปและไม่ใช่ทั่วไปใน C ความแตกต่างระหว่างคอลเล็กชันทั่วไปและไม่ใช่ทั่วไปคือคอลเล็กชันทั่วไปถูกพิมพ์อย่างเข้มงวดในขณะที่คอลเล็กชันที่ไม่ใช่ทั่วไปไม่ได้พิมพ์อย่างเข้มงวด