คำถามติดแท็ก hashset

HashSet สรุปการดำเนินการที่อนุญาตให้มีการเปรียบเทียบองค์ประกอบในคอลเลกชัน แฮชเซ็ตมักใช้เพื่อกำหนดองค์ประกอบที่ทับซ้อนกันและไม่ซ้ำกันภายในคอลเลกชัน

1
วิธี HashSet <T> .removeAll นั้นช้าอย่างน่าตกใจ
เมื่อเร็ว ๆ นี้ Jon Skeet ได้ยกหัวข้อการเขียนโปรแกรมที่น่าสนใจในบล็อกของเขา: "มีช่องว่างในสิ่งที่เป็นนามธรรมของฉัน Liza ที่รัก Liza ที่รัก" (เน้นเพิ่มเติม): ฉันมีชุด - อันที่HashSetจริง ฉันต้องการลบบางรายการออกจากมัน ... และหลายรายการอาจไม่มีอยู่จริง อันที่จริงในกรณีทดสอบของเราไม่มีรายการใดในคอลเล็กชัน "การลบ" ที่จะอยู่ในชุดเดิม ฟังดู - และเป็นรหัสที่ง่ายมาก ท้ายที่สุดเราต้องSet&lt;T&gt;.removeAllช่วยเราใช่มั้ย? เราระบุขนาดของชุด "แหล่งที่มา" และขนาดของคอลเล็กชัน "การลบ" ในบรรทัดคำสั่งและสร้างทั้งสองชุด ชุดแหล่งที่มามีเฉพาะจำนวนเต็มที่ไม่เป็นลบ ชุดการลบมีเฉพาะจำนวนเต็มลบ เราวัดว่าต้องใช้เวลานานแค่ไหนในการลบองค์ประกอบทั้งหมดโดยใช้System.currentTimeMillis()ซึ่งไม่ใช่นาฬิกาจับเวลาที่แม่นยำที่สุดในโลก แต่เพียงพอแล้วในกรณีนี้อย่างที่คุณเห็น นี่คือรหัส: import java.util.*; public class Test { public static void main(String[] args) { int sourceSize = …

11
จะดึงรายการจริงจาก HashSet <T> ได้อย่างไร?
ฉันได้อ่านคำถามนี้เกี่ยวกับสาเหตุที่เป็นไปไม่ได้ แต่ยังไม่พบวิธีแก้ปัญหา ผมอยากจะดึงรายการจาก HashSet&lt;T&gt;.NET ฉันกำลังมองหาวิธีที่จะมีลายเซ็นนี้: /// &lt;summary&gt; /// Determines if this set contains an item equal to &lt;paramref name="item"/&gt;, /// according to the comparison mechanism that was used when the set was created. /// The set is not changed. If the set does contain an item equal to /// &lt;paramref …
86 c#  .net  hashset 

1
ไม่คาดหมายเวลาทำงานสำหรับรหัส HashSet
ตอนแรกฉันมีรหัสนี้: import java.util.*; public class sandbox { public static void main(String[] args) { HashSet&lt;Integer&gt; hashSet = new HashSet&lt;&gt;(); for (int i = 0; i &lt; 100_000; i++) { hashSet.add(i); } long start = System.currentTimeMillis(); for (int i = 0; i &lt; 100_000; i++) { for (Integer val : hashSet) { …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.