Rumah  >  Artikel  >  Java  >  Bagaimana untuk mendapatkan elemen terakhir LinkedHashSet di Java?

Bagaimana untuk mendapatkan elemen terakhir LinkedHashSet di Java?

WBOY
WBOYke hadapan
2023-08-27 20:45:061392semak imbas

Bagaimana untuk mendapatkan elemen terakhir LinkedHashSet di Java?

Mendapatkan semula elemen terakhir daripada LinkedHashSet dalam Java bermakna mendapatkan semula elemen terakhir dalam setnya. Walaupun Java tidak mempunyai kaedah terbina dalam untuk membantu mendapatkan semula item terakhir dalam LinkedHashSets, terdapat beberapa teknik berkesan yang memberikan fleksibiliti dan kemudahan untuk mendapatkan semula elemen terakhir ini dengan cekap tanpa melanggar perintah sisipan - satu kemestian bagi isu pembangun Java yang ditangani dengan berkesan dalam aplikasinya . Dengan menggunakan strategi ini secara berkesan ke dalam projek perisian mereka, mereka boleh mencapai penyelesaian terbaik untuk keperluan ini

LinkedHashSet

LinkedHashSet ialah struktur data yang cekap dalam Java yang menggabungkan kefungsian struktur data HashSet dan LinkedList untuk mengekalkan keunikan elemen sambil mengekalkan susunannya apabila dimasukkan.

Ia sangat pantas apabila mengakses atau menukar elemen dengan cepat disebabkan oleh operasi masa yang berterusan seperti memasukkan, memadam, mendapatkan semula dan mengubah suai - menggunakan jadual cincang untuk carian pantas, manakala senarai berpaut dua kali mengekalkan susunan untuk kebolehcapaian dan kecekapan maksimum.

Struktur ini sesuai apabila anda perlu mengulangi elemen dalam susunan ia telah ditambah, memberikan susunan lelaran terbaik. Susunan lelaran LinkedHashSet juga membantu apabila mengekalkan ketiadaan elemen pendua sambil mengekalkan susunan sisipan secara utuh.

import java.util.LinkedHashSet;

// ...

LinkedHashSet<datatype> set = new LinkedHashSet<>();
</datatype>

Kaedah

Java membenarkan berbilang kaedah untuk mencari elemen terakhir daripada LinkedHashSet, sekali gus menyediakan akses kepada ahli terakhirnya. Terdapat beberapa cara untuk melakukan ini.

  • Tukar kepada ArrayList

  • Lelaran melalui LinkedHashSet

  • API Penstriman Java 8

Kaedah 1: Tukar kepada ArrayList

ArrayList dalam Java ialah pelaksanaan berasaskan tatasusunan yang diperuntukkan secara dinamik dan boleh diubah saiz bagi antara muka Senarai yang menyediakan cara yang fleksibel dan cekap untuk menyimpan dan memanipulasi elemen dalam koleksi.

Apabila elemen ditambah atau dialih keluar, secara automatik mengembang atau mengecut apabila elemen masuk atau keluar. Secara dalaman, ia mengekalkan tatasusunan untuk menyimpan elemennya, sambil menyokong pelbagai kaedah menambah, mengalih keluar dan mengakses elemen melalui pengindeksan.

Salah satu cara untuk mendapatkan semula elemen terakhir daripada LinkedHashSet ialah menukarnya kepada ArrayList melalui pembinanya, yang menerima Koleksi sebagai parameter input, dan kemudian mengakses dan mengekstrak ahli terakhirnya daripadanya menggunakan kaedah get().

Algoritma

  • Buat LinkedHashSet kosong.

  • Tambah elemen pada LinkedHashSet

  • Tukar LinkedHashSet kepada ArrayList dengan mencipta ArrayList baharu menggunakan data anda sebagai hujah dalam pembinanya.

  • Semak saiz ArrayList.

  • Jika saiz melebihi sifar:

    • Gunakan kaedah get() ArrayList dan lulus indeks(saiz-1) sebagai parameter untuk mengakses elemen terakhirnya.

    • Kini tiba masanya untuk mengambil tindakan ke atas komponen akhir kami.

  • Mengendalikan kes saiz = 0 (bermaksud LinkedHashSet kosong) harus bergantung pada keperluan dan pertimbangan khusus anda.

Program

import java.util.ArrayList;
import java.util.LinkedHashSet;

public class LastElementExample {
   public static void main(String[] args) {
      LinkedHashSet<String> linkedSet = new LinkedHashSet<>();
      linkedSet.add("Apple");
      linkedSet.add("Banana");
      linkedSet.add("Orange");
      linkedSet.add("Mango");

      ArrayList<String> arrayList = new ArrayList<>(linkedSet);
      String lastElement = arrayList.get(arrayList.size() - 1);

      System.out.println("Last element: " + lastElement);
   }
}

Output

Last element: Mango

Kaedah 2: Berulang dengan melintasi LinkedHashSet

Java membenarkan pengguna untuk beralih melalui LinkedHashSet melalui beberapa langkah, daripada membuat LinkedHashSet kosong kepada menambah elemen. Selepas menambah elemen, anda boleh menggunakan iterator atau untuk setiap gelung untuk memulakan lelaran - iterator boleh mengakses objek mereka menggunakan kaedah iterator() di dalam LinkedHashSet, manakala untuk setiap gelung boleh menggunakan kaedah hasNext() untuk menyemak sama ada terdapat adalah lebih banyak elemen

Setiap lelaran, gunakan kaedah seterusnya() untuk mengakses dan mendapatkan semula elemen semasa, dan kemas kini pembolehubah dengan nilai elemen itu pada penghujung lelaran, pembolehubah itu harus mengandungi elemen terakhir dan anda boleh menggunakan pembolehubah itu untuk masa hadapan mengikut operasi atau pemprosesan yang diperlukan

Algoritma

  • Buat LinkedHashSet kosong.

  • Tambah elemen pada LinkedHashSet

  • Gunakan iterator atau untuk setiap gelung untuk melintasi LinkedHashSet:

    • Gunakan kaedah iterator() LinkedHashSet untuk mencipta iterator.

    • Gunakan gelung sementara dan kaedah hasNext() untuk mengenal pasti jika terdapat lebih banyak elemen.

    • Gunakan kaedah next() dalam gelung untuk mendapatkan semula elemen semasa.

  • Kemas kini nilai elemen semasa ke dalam pembolehubah yang sesuai semasa setiap lelaran

  • Setelah lelaran selesai, pembolehubah akan mengandungi elemen terakhirnya.

Program

import java.util.Iterator;
import java.util.LinkedHashSet;

public class LastElementExample {
   public static void main(String[] args) {
      LinkedHashSet<Integer> linkedSet = new LinkedHashSet<>();
      linkedSet.add(10);
      linkedSet.add(20);
      linkedSet.add(30);
      linkedSet.add(40);

      Integer lastElement = null;
      Iterator<Integer> iterator = linkedSet.iterator();
      while (iterator.hasNext()) {
         lastElement = iterator.next();
      }

      System.out.println("Last element: " + lastElement);
   }
}

Output

Last element: 40

Kaedah 3: Java 8 Stream API

Untuk mendapatkan elemen terakhir daripada LinkedHashSet menggunakan Java 8 Stream API, ikut langkah di bawah. Cipta LinkedHashSet kosong, tambah elemen, tukar kepada aliran menggunakan kaedah stream() dan operasi terminal reduce() menggunakan fungsi lambda untuk mengembalikan nilai identiti boleh mengurangkan aliran kepada satu elemen; lambda sentiasa mengembalikan perwakilan elemen semasa parameter kedua.

最后,当遇到空 LinkedHashSet 时使用 orElse() 方法,并为 orElse() 情况分配默认值(例如 null),然后包含该 LinkedHashSet 中的最后一个元素以进行进一步的处理操作或处理目的。

算法

  • 创建一个空的 LinkedHashSet。

  • 将元素添加到LinkedHashSet中

  • 使用stream()方法将LinkedHashSet转换为Stream

  • 利用reduce() 终端操作需要两个参数 - 一个始终返回其第二个参数作为其参数的无限 lambda 函数以及 BinaryOperators 的标识值。

  • Reduce 将有效地将数组转换为完整的元素 - 例如,成为 LinkedHashSet 的一部分作为其最终元素。

程序

import java.util.LinkedHashSet;
import java.util.Optional;

public class LastElementExample {
   public static void main(String[] args) {
      LinkedHashSet<String> linkedSet = new LinkedHashSet<>();
      linkedSet.add("Carrot");
      linkedSet.add("Broccoli");
      linkedSet.add("Spinach");
      linkedSet.add("Tomato");

      Optional<String> lastElement = linkedSet.stream().reduce((first, second) -> second);

      if (lastElement.isPresent()) {
         System.out.println("Last vegetable: " + lastElement.get());
      } else {
         System.out.println("LinkedHashSet is empty.");
      }
   }
}

输出

Last vegetable: Tomato

结论

本教程强调了在Java中从LinkedHashSet中检索最后一个元素的有效方法,而不需要专门的方法来完成此任务。通过将其LinkedHashSet转换为ArrayList,并将其索引号作为最后一个元素的索引号进行访问。通过跟踪遇到的最后一个元素来搜索LinkedHashSet可以实现检索

此外,使用 Java 8 的 Stream API 及其归约操作提供了一个优雅的解决方案。这些方法提供了灵活性、效率并维护 LinkedHashSet 的插入顺序。通过转换为 ArrayList、迭代或使用 Java 的 Stream API API,Java 开发人员可以在各种情况下自信地从 LinkedHashSet 中提取最后一个元素。

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan elemen terakhir LinkedHashSet di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam