Depset
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
วันที่
รายงานปัญหาopen_in_new
ดูแหล่งที่มาopen_in_new
ตอนกลางคืน
·
7.3
·
7.2
·
7.1
·
7.0
·
6.5
โครงสร้างข้อมูลเฉพาะที่สนับสนุนการดำเนินการผสานรวมที่มีประสิทธิภาพและมีลำดับการส่งผ่านที่กำหนดไว้ โดยทั่วไปมักใช้สําหรับรวบรวมข้อมูลจากทรัพยากร Dependency แบบทรานซิทีฟในกฎและส่วนต่างๆ ดูข้อมูลเพิ่มเติมที่นี่
องค์ประกอบของ Depset ต้องแฮชได้และเป็นประเภทเดียวกันทั้งหมด (ตามที่กำหนดโดยฟังก์ชัน type(x) ในตัว) แต่ Depset ไม่ได้เป็นเพียงชุดแฮชและไม่รองรับการทดสอบการเป็นสมาชิกที่รวดเร็ว หากต้องการประเภทข้อมูลชุดทั่วไป คุณจำลองประเภทโดยใช้พจนานุกรมซึ่งคีย์ทั้งหมดแมปไปยัง True
ได้
Depset จะเปลี่ยนแปลงไม่ได้ ซึ่งควรสร้างโดยใช้ฟังก์ชันตัวสร้าง และผสานหรือเสริมกับ Depset อื่นๆ ผ่านอาร์กิวเมนต์ transitive
พารามิเตอร์ order
จะกำหนดประเภทการส่งผ่านที่ดำเนินการเพื่อแปลง Depset เป็นที่ซ้ำกันได้ ค่าที่เป็นไปได้มี 4 ค่าดังนี้
"default"
(เดิมคือ "stable"
): ไม่ได้ระบุคำสั่งซื้อ (แต่เป็นการกำหนด)"postorder"
(เดิมคือ "compile"
): การจัดเรียงหลังลำดับจากซ้ายไปขวา จะข้ามผ่านเด็กทุกคนที่อยู่ซ้ายสุดก่อน จากนั้นจะข้ามองค์ประกอบที่อยู่ซ้ายสุดก่อน"preorder"
(ก่อนหน้านี้เรียกว่า "naive_link"
): การสั่งจองล่วงหน้าแบบซ้ายไปขวา จะข้ามผ่านองค์ประกอบโดยตรงที่อยู่ซ้ายสุดก่อน จากนั้นจะข้ามผ่านเด็กๆ ไปก่อน"topological"
(ก่อนหน้านี้เรียกว่า "link"
): การเรียงอันดับจากรากลึกถึงใบ ไม่มีการรับประกันแบบอ่านจากซ้ายไปขวา
สามารถผสาน Depset 2 รายการได้ในกรณีที่ Depset ทั้ง 2 รายการมีลำดับเหมือนกัน หรือ 1 ในนั้นมีลำดับ "default"
ในกรณีหลัง ลำดับของชุดการตั้งค่าผลลัพธ์จะเหมือนกับลำดับของอีกชุดหนึ่ง
ค่ากำหนดอาจมีค่าที่ซ้ำกัน แต่ค่าเหล่านี้จะถูกระงับเมื่อทำซ้ำ (โดยใช้ to_list()
) รายการที่ซ้ำกันอาจรบกวนการเรียงลำดับความหมาย
สมาชิก
to_list
list depset.to_list()
แสดงรายการองค์ประกอบตามลำดับการข้ามผ่านของ Depset โดยไม่มีการทำซ้ำ โปรดทราบว่าไม่มีการระบุลำดับ (แต่เป็นเชิงกำหนด) สำหรับองค์ประกอบที่ถูกเพิ่มมากกว่า 1 ครั้งในการตั้งค่า นอกจากนี้ ไม่มีการระบุคำสั่งซื้อสำหรับ Depset ที่เรียงลำดับ
"default"
และองค์ประกอบของ Depset ย่อยที่มีคำสั่งต่างจาก Depset หลัก รายการนี้เป็นสำเนา การแก้ไขจะไม่มีผลต่อค่ากำหนด หรือในทางกลับกัน
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2024-08-22 UTC
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"ไม่มีข้อมูลที่ฉันต้องการ"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"ล้าสมัย"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"ปัญหาเกี่ยวกับการแปล"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"อื่นๆ"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"เข้าใจง่าย"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"แก้ปัญหาของฉันได้"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"อื่นๆ"
}]
{"lastModified": "\u0e2d\u0e31\u0e1b\u0e40\u0e14\u0e15\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14 2024-08-22 UTC"}
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2024-08-22 UTC"],[],[]]