เซ็ตใน Java: รู้วิธีทำงานกับ Java Set Interface



Set ใน Java คือชุดขององค์ประกอบที่ไม่เรียงลำดับ ซึ่งไม่สามารถจัดเก็บค่าที่ซ้ำกันได้ อ่านบทความนี้และเรียนรู้ทั้งหมดเกี่ยวกับ Java set collection

Java Collection Framework ประกอบด้วยอินเทอร์เฟซจำนวนมากซึ่งหนึ่งในนั้นคือ Set Interface บทความนี้จะให้คำแนะนำโดยละเอียดเกี่ยวกับชุดใน . ต่อไปนี้เป็นคำแนะนำที่จะกล่าวถึงในบทความนี้:

ตั้งค่าใน Java

กำหนดเป็นชุดขององค์ประกอบที่ไม่เรียงลำดับซึ่งไม่สามารถจัดเก็บค่าที่ซ้ำกันได้ มันขยายคอลเลกชันและทำให้วิธีการทั้งหมดในไฟล์ มีอยู่ในอินเทอร์เฟซ Set ดำเนินการโดย HashSet, LinkedHashSet หรือ TreeSort





วิธีการคอมไพล์ใน java

ชุด - คอลเลกชัน Java - Edureka

การใช้งานแต่ละอย่างจะทำงานแตกต่างกันไปในขณะที่ทำซ้ำชุดส่วนใหญ่เกี่ยวกับลำดับขององค์ประกอบและเวลาที่ใช้ในการแทรกและในการเข้าถึงองค์ประกอบ



    • Hash Set ทำ ไม่รับประกันใด ๆ เกี่ยวกับลำดับขององค์ประกอบในขณะที่ทำซ้ำชุด
    • LinkedHashSet ในทางกลับกันให้การรับประกันเกี่ยวกับลำดับขององค์ประกอบในขณะที่ทำซ้ำ
    • ทรีเซ็ต ให้การรับประกัน แต่ชุดจะเรียงลำดับตามลำดับธรรมชาติหรือตามการใช้งานตัวเปรียบเทียบเฉพาะ

จะสร้างชุดได้อย่างไร?

รหัสต่อไปนี้กำหนดวิธีการสร้างชุดใหม่:

ตั้งค่า num = HashSet ใหม่ ()



เราได้ใช้ ยาสามัญ เพื่อประกาศชุดของประเภทจำนวนเต็ม

ตั้งค่าวิธีการใน Java:

เราสามารถดำเนินการได้หลายอย่างในชุดดังต่อไปนี้:

เพิ่มวิธีการ

วิธีการเพิ่มจะแทรกองค์ประกอบลงในไฟล์ . ในโค้ดด้านล่างเราใส่ชุดชื่อ

ตั้งค่า strName = HashSet () strName.add ('John') strName.add ('Doe') System.out.println (strName) ใหม่

เอาท์พุต:

[จอห์นโด]

ลบวิธีการ

วิธีนี้จะลบองค์ประกอบที่ระบุออกจากชุด

import java.util. * public class Main {public static void main (String args []) {// การสร้าง Empty Set Set set = new HashSet () // การเพิ่มอิลิเมนต์ให้กับ set set.add ('John') set .add ('Doe') // แสดงชุด System.out.println ('Set:' + set) // การลบองค์ประกอบ“ Doe” โดยใช้วิธี remove () set.remove ('Doe') // การแสดง แก้ไขชุด System.out.println ('Set:' + set)}}

เอาท์พุต:

ชุด: [John, Doe]

ไปจัดเรียง c ++

ชุด: [John]

เป็นวิธีที่ว่างเปล่า

วิธีนี้จะตรวจสอบว่าไฟล์ ว่างเปล่าไม่ได้ มันจะคืนค่าจริงถ้าชุดว่างและเป็นเท็จถ้าเป็นอย่างอื่น

import java.io. * import java.util. * public class Main {public static void main (String args []) {Set javaSet = new HashSet () // การเพิ่มอิลิเมนต์ลงใน Set javaSet.add ('John') javaSet .add ('Doe') // แสดงชุด System.out.println ('Set:' + javaSet) // ตรวจสอบว่าชุดว่างหรือไม่ System.out.println ('Empty Set:' + javaSet.isEmpty () ) // การล้างชุดโดยใช้เมธอด clear () javaSet.clear () // การตรวจสอบว่าชุดนั้นว่างเปล่า System.out.println ('Empty Set:' + javaSet.isEmpty ())}}

เอาท์พุต:

ชุด: [John, Doe]

ชุดว่าง: เท็จ

ชุดว่าง: จริง

ขนาดวิธี

ขนาด () วิธีการคืนค่าขนาดของชุดเช่นจำนวนองค์ประกอบที่มีอยู่ในชุด

นำเข้า java.util * คลาสสาธารณะ Main {public static void main (String args []) {// การสร้างชุด Set set = new HashSet () set.add ('John') set.add ('Doe') ระบบ .out.println ('Set:' + set) // การแสดงขนาดของ System.out.println ที่ส่ง ('ขนาดของชุด:' + set.size ())}}

เอาท์พุต:


ชุด: [John, Doe]

ขนาดของชุด: 2

วนซ้ำชุด

เราสามารถทำซ้ำองค์ประกอบทั้งหมดที่มีอยู่ในชุดได้โดยวิธีการต่อไปนี้:

import java.util. * import java.util.HashSet public class Main {public static void main (String args []) {// การสร้าง HashSet HashSet javaSet = new HashSet () javaSet.add ('John') javaSet.add ('Doe') // การแสดงชุด System.out.println ('HashSet:' + javaSet) // การสร้างตัววนซ้ำ Iterator itr = javaSet.iterator () // การแสดงค่าหลังจากวนซ้ำ System.out.println (' ค่าตัวทำซ้ำ: ') ในขณะที่ (itr.hasNext ()) {System.out.println (itr.next ())}}}

เอาท์พุต:

HashSet: [John, Doe]

ค่า Iterator:

จอห์น

ทำ

ค้นหาในชุด

กองและกองใน java

เราใช้วิธีการมี () เพื่อตรวจสอบว่าชุดนั้นมีองค์ประกอบที่ระบุหรือไม่ ส่งคืนค่าจริงหากพบองค์ประกอบและเป็นเท็จ

import java.io. * import java.util.HashSet public class Main {public static void main (String args []) {// การสร้าง HashSet HashSet javaSet = new HashSet () javaSet.add ('John') javaSet.add ('Doe') // การแสดง HashSet System.out.println ('HashSet:' + javaSet) // การตรวจหา“ John” ในชุด System.out.println ('John in set:' + javaSet.contains ( 'John')) // กำลังตรวจหา 'Hazel' ในชุด System.out.println ('Hazel in set:' + javaSet.contains ('Hazel'))}}

เอาท์พุต:

HashSet: [John, Doe]

จอห์นในชุด: จริง

เฮเซลในชุด: เท็จ

การทำงานพื้นฐานบนชุดใน Java

  • สหภาพ: ในการเพิ่มชุดหนึ่งไปยังอีกชุดหนึ่งเราใช้การดำเนินการ Union
  • ทางแยก: ในการรักษาค่าทั่วไปจากทั้งสองชุดเราใช้การดำเนินการจุดตัด
  • ความแตกต่าง: ในการลบค่าของชุดหนึ่งออกจากอีกชุดหนึ่งจะใช้การดำเนินการที่แตกต่างกัน

ตัวอย่าง

นำเข้า java.util * คลาสสาธารณะ Main {public static void main (String args []) {Set d = new HashSet () d.addAll (Arrays.asList (new Integer [] {3, 2, 1, 9, 6 , 4, 0})) Set e = new HashSet () e.addAll (Arrays.asList (new Integer [] {3, 1, 9, 5, 2, 0, 7,})) // Union Operation Set union = new HashSet (d) union.addAll (e) System.out.println ('Union:' + union) // จุดตัดการทำงานของ Intersection = จุดตัด HashSet (d) ใหม่ retainAll (e) System.out.println (' จุดตัด: '+ จุดตัด) // ความแตกต่างของชุดการดำเนินการความแตกต่าง = HashSet ใหม่ (d) difference.removeAll (e) System.out.println (' ความแตกต่าง: '+ ความแตกต่าง)}}

เอาท์พุต:

สหภาพ: [0, 1, 2, 3, 4, 5, 6, 7, 9]

ทางแยก: [0, 1, 2, 3, 9]

ความแตกต่าง: [4, 6]

วิธีการและการดำเนินการที่กล่าวถึงในวิธีการนี้ทำให้ชุดอินเตอร์เฟสเป็นองค์ประกอบและมีประสิทธิภาพตามธรรมชาติ

ดังนั้นเราจึงมาถึงตอนท้ายของบทความนี้เกี่ยวกับ 'Sets in Java' หากคุณต้องการเรียนรู้เพิ่มเติมโปรดดูไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ หลักสูตรการฝึกอบรมและการรับรอง Java J2EE และ SOA ของ Edureka ได้รับการออกแบบมาเพื่อฝึกอบรมคุณสำหรับแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับกรอบงาน Java ต่างๆเช่น Hibernate & Spring

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบทความ 'sets in java' แล้วเราจะติดต่อกลับโดยเร็วที่สุด