كيفية فرز HashSet في جافا
لا يحتفظ HashSet بترتيب العناصر ، ولكن يمكنك تحويل HashSet وترتيب العناصر بترتيب تصاعدي بطريقتين: استخدام الطريقة Collections.sort() أو عن طريق نسخ العناصر إلى TreeSet.1) فرز HashSet باستخدام Collections.sort()
الطريقة Collections.sort() فرز مجموعات الكائنات التي تنفذ الواجهة java.util.List. يجب نسخ عناصر HashSet إلى إحدى المجموعات: ArrayList أو LinkedList أو Vector. سنستخدم فئة ArrayList ، وهي الأبسط. < / سبان> بعد ذلك ، نسمي الطريقة Collections.sort() على ArrayList.
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
فئة عامة TriHashSet {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
// إنشاء مجموعة تجزئة
HashSet< سلسلة> hset = HashSet جديد< سلسلة> ();
//add elements
hset.add("a2");
hset.add("a3");
hset.add("b1");
hset.add("b3");
hset.add("a1");
hset.add("b2");
System.out.println ("قبل الفرز:");
ل (سلسلة s: hset)
System.out.println (s) ؛
//نسخ عناصر HashSet إلى ArrayList
List< سلسلة> قائمة = قائمة صفيف جديدة< سلسلة> (هست) ؛
Collections.sort (قائمة) ؛
System.out.println ("بعد الفرز:") ؛
ل (سلسلة s: hset)
System.out.println (s) ؛
} < br / >}
< / string >< / string >< / string >< / pre>< / div>الإخراج:
< pre class = "prettyprint lang-java" > قبل الفرز:
b1
a1
b3
b2
a2
a3
بعد الفرز:
b1
a1
b3
b2
a2
a3
< / pre>< / div>1) فرز HashSet باستخدام TreeSet< / h2>< / div>
استخدام TreeSet بسيط للغاية. ما عليك سوى إنشاء مثيل من TreeSet باستخدام HashSet.import java.util.HashSet كوسيطة;
import java.util.TreeSet;
الطبقة العامة TriHashSetTreeMap {
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
// إنشاء مجموعة تجزئة
HashSet<عدد صحيح> hset = HashSet() جديد
//add elements
hset.add(5);
hset.add(16);
hset.add(8);
hset.add(22);
hset.add(14);
hset.add(11);
System.out.println("قبل الفرز: "+hset);
for(int n: hset)
System.out.println(n);
//copy عناصر HashSet إلى ArrayList
TreeSettreeSet = TreeSet جديد< > (هست) ؛
System.out.println("بعد الفرز: "+treeset);
for(int n : treeet)
System.out.println(n);
}
}
< / عدد صحيح >< / عدد صحيح >< / عدد صحيح >< / قبل > الإخراج: < / div>
< pre class = "prettyprint lang-java" >قبل الفرز: [16 ، 5 ، 22 ، 8 ، 11 ، 14]
16
5
22
8
11
14
After IR: [5 ، 8 ، 11 ، 14 ، 16 ، 22]
5
8
11
14
16
22< / pre>< / div>