Java's TreeSet ialah set tertib yang dilaksanakan berdasarkan pokok merah-hitam. Cirinya ialah elemen diisih mengikut saiz, dan elemen boleh ditambah, dipadam dan dicari dengan cepat. Artikel ini akan memperkenalkan cara menggunakan fungsi TreeSet dalam Java untuk melaksanakan operasi set tertib supaya ia boleh digunakan dengan lebih baik dalam pengaturcaraan sebenar.
1. Operasi asas TreeSet
1 Buat objek TreeSet
Untuk menggunakan TreeSet, anda perlu mencipta objek TreeSet terlebih dahulu. Anda boleh menggunakan pembina tanpa parameter untuk mencipta TreeSet kosong, atau anda boleh menentukan Comparator untuk menyesuaikan penyusunan apabila mencipta objek TreeSet.
Kod contoh:
TreeSet<Integer> set = new TreeSet<>(); TreeSet<String> set2 = new TreeSet<>(new Comparator<String>() { @Override public int compare(String o1, String o2) { // 自定义排序规则 return o1.compareToIgnoreCase(o2); } });
2. Tambah elemen
Tambah elemen pada TreeSet melalui kaedah add(). TreeSet akan mengisih elemen secara automatik mengikut saiz, dan elemen yang sama hanya akan disimpan sekali.
Kod contoh:
set.add(3); set.add(1); set.add(2); set.add(3); // 结果为[1, 2, 3] System.out.println(set);
3 Padam elemen
Anda boleh menggunakan kaedah remove() untuk memadamkan elemen dalam TreeSet.
Kod sampel:
set.remove(3); // 结果为[1, 2] System.out.println(set);
4 Tentukan sama ada unsur wujud
Anda boleh menggunakan kaedah contains() untuk menentukan sama ada unsur wujud dalam TreeSet.
Kod sampel:
boolean contains = set.contains(2); // 结果为true System.out.println(contains);
5 Dapatkan bilangan elemen
Anda boleh menggunakan kaedah saiz() untuk mendapatkan bilangan elemen dalam TreeSet.
Kod contoh:
int size = set.size(); // 结果为2 System.out.println(size);
6 Elemen traverse
Anda boleh menggunakan kaedah gelung for atau forEach() untuk melintasi elemen dalam TreeSet.
Kod contoh:
for (Integer i : set) { System.out.print(i + " "); } System.out.println(); set.forEach(System.out::println);
Hasil keluaran:
1 2 1 2
2 Operasi lanjutan TreeSet
1. Dapatkan elemen pertama dan elemen terakhir
Anda boleh menggunakan kaedah pertama() dan terakhir() untuk mendapatkan yang ketiga. elemen dalam TreeSet satu elemen dan elemen terakhir.
Kod sampel:
Integer first = set.first(); Integer last = set.last(); // 结果为1 2 System.out.println(first + " " + last);
2. Dapatkan subset
Anda boleh menggunakan kaedah subSet() untuk mendapatkan subset TreeSet, yang mengandungi elemen daripada dariElement (termasuk) kepadaElement (eksklusif). Jika fromElement tidak dinyatakan, ia bermakna bermula dari elemen pertama dalam TreeSet.
Kod contoh:
TreeSet<Integer> subSet = (TreeSet<Integer>) set.subSet(1, 2); // 结果为[1] System.out.println(subSet); TreeSet<String> subSet2 = (TreeSet<String>) set2.subSet("A", "c"); // 结果为[b, C] System.out.println(subSet2);
Perlu diingatkan bahawa jika subset berubah, TreeSet asal juga akan berubah.
3. Dapatkan subset elemen kepala atau ekor
Anda boleh menggunakan kaedah headSet() dan kaedah tailSet() untuk mendapatkan subset elemen kepala (tidak termasuk toElement) atau ekor (termasuk dariElement) TreeSet.
Kod sampel:
TreeSet<Integer> headSet = (TreeSet<Integer>) set.headSet(2); // 结果为[1] System.out.println(headSet); TreeSet<String> tailSet = (TreeSet<String>) set2.tailSet("b"); // 结果为[b, C] System.out.println(tailSet);
Juga ambil perhatian bahawa jika subset berubah, TreeSet asal juga akan berubah.
4 Dapatkan elemen yang lebih kecil atau lebih besar daripada elemen yang ditentukan
Anda boleh menggunakan kaedah lower(), kaedah floor(), kaedah higher() dan kaedah siling() untuk mendapatkan elemen yang lebih kecil atau lebih besar daripada. elemen yang ditentukan.
Kod sampel:
Integer lower = set.lower(2); Integer floor = set.floor(2); Integer higher = set.higher(1); Integer ceiling = set.ceiling(1); // 结果为1 2 2 1 System.out.println(lower + " " + floor + " " + higher + " " + ceiling);
Perlu diingatkan bahawa:
3. Ringkasan
Artikel ini memperkenalkan operasi asas dan operasi lanjutan fungsi TreeSet dalam Java. Anda boleh memilih kaedah operasi yang sepadan mengikut keperluan sebenar untuk melaksanakan operasi pengumpulan yang dipesan. Perlu diingat bahawa apabila menggunakan kaedah subSet(), kaedah headSet() dan kaedah tailSet(), jika subset berubah, TreeSet asal juga akan berubah, jadi anda perlu mengingati perkara ini.
Atas ialah kandungan terperinci Cara menggunakan fungsi TreeSet dalam Java untuk operasi set yang dipesan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!