Rumah > Java > javaTutorial > Bagaimana untuk Menyertai Senarai Rentetan di Java dengan Cekap?

Bagaimana untuk Menyertai Senarai Rentetan di Java dengan Cekap?

Linda Hamilton
Lepaskan: 2024-12-24 19:42:11
asal
332 orang telah melayarinya

How to Efficiently Join a List of Strings in Java?

Menukar Senarai kepada Rentetan Bergabung dalam Java

Dalam JavaScript, kaedah Array.join() menawarkan cara yang mudah untuk menggabungkan elemen tatasusunan menjadi rentetan tunggal. Adakah Java menawarkan fungsi yang serupa?

Jika anda ingin mencipta fungsi sedemikian dari awal, anda boleh menggunakan StringBuilder:

static public String join(List<String> list, String conjunction) {
   StringBuilder sb = new StringBuilder();
   boolean first = true;
   for (String item : list) {
      if (first) first = false;
      else sb.append(conjunction);
      sb.append(item);
   }
   return sb.toString();
}
Salin selepas log masuk

Walau bagaimanapun, sejak Java 8, pilihan yang lebih cekap dan elegan adalah tersedia:

String.join

Untuk menyertai Senarai khususnya, anda boleh menggunakan kaedah String.join():

List<String> list = Arrays.asList("foo", "bar", "baz");
String joined = String.join(" and ", list); // "foo and bar and baz"
Salin selepas log masuk

Collectors.joining

Untuk koleksi dengan elemen jenis selain String, anda boleh menggunakan Collectors.joining collector with API Strim:

List<Person> list = Arrays.asList(
  new Person("John", "Smith"),
  new Person("Anna", "Martinez"),
  new Person("Paul", "Watson ")
);

String joinedFirstNames = list.stream()
  .map(Person::getFirstName)
  .collect(Collectors.joining(", ")); // "John, Anna, Paul"
Salin selepas log masuk

StringJoiner

Anda juga boleh mempertimbangkan untuk menggunakan kelas StringJoiner, yang menawarkan pilihan penyesuaian tambahan:

StringJoiner joiner = new StringJoiner(", ");
list.stream()
  .forEach(joiner::add);

String joinedFirstNames = joiner.toString(); // "John, Anna, Paul"
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menyertai Senarai Rentetan di Java dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan